Я хочу изменить привязки клавиш на некоторых клавишах на моей клавиатуре. Я хочу, чтобы некоторые запускали команды, а другие активировали разные ключи.
Какие приложения я могу использовать для этого?
Индекс:
Настройки клавиатуры и ярлыков по умолчанию (в настройках системы)
- ХКВ
xkb
ответ: askubuntu.com/a/347382/354350Ответы:
xbindkeys ..
Xbindkeys - очень универсальная программа, которая позволяет очень легко переназначать ключи. Он использует конфигурационный файл, мой по умолчанию, расположенный в вашем домашнем каталоге, чтобы изменить привязки клавиш на определенные команды.
Для создания файла конфигурации по умолчанию вы используете команду:
Который печатает файл конфигурации по умолчанию. Поэтому, если вы хотите создать файл, содержащий значения по умолчанию, вы должны использовать:
Который печатает значения по умолчанию в скрытый файл с именем,
.xbindkeysrc
расположенный в home (~
).Теперь, чтобы реально изменить привязки клавиш, нам сначала нужно узнать, как называется или называется ключ этих клавиш.
xbindkeys
позволяет нам использовать-k
дескриптор, чтобы найти название клавиши или комбинации клавиш. Бегать:И нажмите клавишу или комбинацию клавиш. Ваш вывод будет выглядеть примерно так (при нажатии space):
"No Command"
говорит нам, что в настоящее время ни одна команда не связана с Spaceключом.Имя клавиши / комбинации клавиш.
файл конфигурации ..
Позволяет открыть файл конфигурации, который вы сделали ранее:
Вот выдержка из файла конфигурации по умолчанию:
Каждая строка, начинающаяся с,
#
является комментарием и не будет прочитана или обработанаxbindkeys
.Пока единственная строка, которая не закомментирована:
Этот отрывок показывает основной синтаксис
xbindkeys
команд:Итак, как вы можете видеть:
Запускает команду
xbindkeys_show
при нажатии Ctrl+ Shift+ q.привязать ключи к командам ..
Теперь попробуем связать несколько ключей. Я рекомендую очистить весь файл по умолчанию, чтобы он был пустым. Он содержит предустановленные привязки клавиш, которые вы, вероятно, не хотите.
Теперь предположим, что вы хотите использовать Ctrl+, bчтобы открыть браузер. Во-первых, вам нужно знать, как называетсяCtrl + или keyym of + b. Как упоминалось ранее, вы можете использовать,
xbindkeys -k
чтобы найти название ключа или ключей, но есть более простой способ. Для простых комбинаций, таких как Ctrl+, bвы можете просто использовать:Намного проще, не правда ли!
Теперь найдите команду для вашего любимого браузера:
Для Firefox:
firefox
Для хрома:
chromium-browser
Для Оперы:
opera
Помните синтаксис из ранее? Команда
xbindkeys
для запуска Firefox (или другого вашего любимого браузера) при нажатии Ctrl+ b:Теперь поместите это в ваш конфигурационный файл и сохраните. Теперь вы можете заметить, что ваша команда еще не работает, потому что
xbindkeys
она не работает. Для начала просто запуститеxbindkeys
из терминала. Ваш Ctrl+ bтеперь должен запустить ваш браузер!привязать ключи к другим ключам ..
Если вы хотите, чтобы клавиша на клавиатуре вызывала другую клавишу на клавиатуре, вам понадобится дополнительное программное обеспечение, которое
xbindkeys
само по себе не поддерживает это. Я знаю две программы, которые мы можем использовать,xdotool
иxte
. Я предпочитаю,xte
поэтому я собираюсь использовать это.Установите это:
Синтаксис для
xte
такой:Примеры:
Для вызова одной клавиши нажмите:
xte 'key keyName'
Чтобы вызвать комбинацию клавиш:
xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
Чтобы вызвать кнопку мыши:
xte 'mouseclick buttonNumber'
(мы обсудим поиск номеров кнопок чуть позже)Чтобы переместить мышь:
xte 'mousemove xCoordinate yCoordinate'
И более! Читать
man xte
Теперь, когда вы знаете команду для имитации нажатий клавиш, вы можете вызвать ее из своего
xbindkeys
скрипта, например так:Как вы можете догадаться, это вызывает,
xte 'key b'
когда мы нажимаем Ctrl+ b, что вводит bв любой документ, над которым вы, возможно, работаете в настоящее время.Я вещь , чтобы отметить , однако, что
xbindkeys
иxte
не всегда очень хорошо работают вместе. Иногда приходится нажимать на клавиши точно в то же самое время , чтобы получить выход, в остальное время он работает просто отлично. Это может или не может иметь отношение к конфигурации системы и / или оборудования .. Я не уверен. Посмотрите ответ Maggotbrain для более надежного способа привязки ключей к другим ключам.привязать кнопки мыши к командам ..
Вы также можете использовать
xbindkeys
для привязки кнопок мыши к командам (и, следовательно, сочетания клавиш, см. Выше). Базовый формат кнопок мыши должен быть вам знаком:Где
[command to run]
находится команда, которую вы хотите выполнить, иn
номер кнопки мыши, которую вы хотите использовать для этой команды.Если вы не знаете номер своей кнопки мыши, вы можете
xev
узнать, что это такое:Результат будет примерно таким:
Когда я нажимаю каждую из моих кнопок мыши.
Например:
Запускает Firefox, когда я нажимаю среднюю кнопку мыши.
источник
Xev и xmodmap
Изменение привязок клавиш с помощью
xev
иxmodmap
.Оба приложения командной строки доступны по умолчанию, поэтому нет необходимости устанавливать дополнительное программное обеспечение.
Xev «создает окно, а затем просит X-сервер отправлять ему события всякий раз, когда с окном происходит что-либо (например, его перемещение, изменение размера, ввод, нажатие и т. Д.)». xev man page
xmodmap - это «программа, используемая для редактирования и отображения карты модификаторов клавиатуры и таблицы клавиш, которые используются клиентскими приложениями для преобразования кодов событий в ключевые символы». Страница руководства xmodmap
В следующем примере Caps_Lockключ будет переназначен на поведение Escклавиши (многие пользователи vi / vim считают это полезным сопоставлением клавиатуры).
Использование xev
Запустите
xev
приложение из окна терминала ( Ctrl- Alt- t).Приложение инициализируется, отображает количество строк и запускает пустое окно. Держите
xev
окно приложения в фокусе и нажмите клавишу, свойства / поведение которой вы хотите использовать.В окне терминала вы увидите несколько строк вывода. Запишите 3-ую строку. Он будет содержать имя свойства, которое вы хотите переместить на другой ключ.
В этом случае Escключ (код клавиши 9) использует имя «Escape» .
На этот раз мы ищем код ключа, который Caps Lockиспользуется.
Снова обратите внимание на 3-ю строку:
Использование xmodmap
Теперь, когда мы получили информацию о ключах, которые мы хотим изменить
xev
, мы будем использовать ихxmodmap
для изменения таблиц ключей . В командном терминале ( Ctrl+ Alt+ t) выполните следующие команды:Эта команда модифицирует Caps Lockиспользование того же поведения, что иEsc
Эта опция печатает таблицу раскладок в виде выражений в файл
~/.Xmodmap
Активируйте изменения (только для этого сеанса входа в систему) с помощью следующей команды:
Делать изменения постоянными при перезагрузке:
Если он не существует, создайте файл в вашей домашней папке с именем
.xinitrc
.Поместите следующую строку в файл и сохраните файл:
Модификация ключей с различным поведением состояний
(такой как Num Lock)
Получите таблицу раскладок для клавиш-модификаторов (здесь вывод сокращен)
Если вы хотите изменить, например, поведение точки вкл Del/ Periodклавиша на цифровой клавиатуре на запятую, используйте следующую команду:
Обратите внимание, что это использует
mod2
раскладку клавиш для изменения поведения клавиш при Num Lockнажатии модификатора . Синтаксис для этого:Ресурс
источник
По умолчанию (это просто дополнение к отличному ответу Сета), Ubuntu (в этом примере я использую 16.04) имеет 2 категории, которые по умолчанию входят в Системные настройки:
Чтобы перейти к настройкам системы, в правом верхнем углу щелкните значок шестеренки :
Затем выберите Системные настройки :
Здесь вы найдете 2 варианта, которые могут отправить вас в раздел «Создание ярлыка».
Если вы выберете « Ввод текста», вам нужно будет выбрать ссылку « Настройки клавиатуры» в правом нижнем углу, которая перенаправит вас прямо к опциям «Ярлыки».
При выборе клавиатуры вариант, вы должны нажать на Shortcuts Tab
После перехода на вкладки «Ярлыки» выберите « Ярлыки пользователя» внизу списка с левой стороны:
А затем нажмите на знак «плюс» внизу, чтобы начать создавать свой собственный ярлык:
С этого момента, вы просто добавляете имя ярлыка (не путайте имя ярлыка, поскольку имя действующей команды вы будете выполнять). А ниже, в поле «Команды», вы указываете, какая команда будет выполняться для этого ярлыка. В следующем примере я назвал ярлык «Sublime Text 3», чтобы узнать, к чему относится этот ярлык. И в поле команды я добавил фактическую команду, которая есть
subl
.В результате вы увидите следующее на экране, которое показывает, что, поскольку ярлыку еще не назначена клавиша или комбинация клавиш, по умолчанию он отключен:
Затем мы должны нажать на сообщение «Отключено», чтобы добавить к нему комбинацию клавиш:
В этой части я назначаю комбинацию клавиш SHIFT+ CTRL+, Sчтобы при нажатии этой комбинации открывалось приложение Sublime Text.
После этого вы можете просто проверить свою комбинацию, нажав соответствующую комбинацию клавиш и увидев, что приложение открыто:
ПРИМЕЧАНИЕ. Для специальных комбинаций, таких как комбинация для уничтожения X-сервера, я предлагаю посетить следующую ссылку: Как включить Ctrl-Alt-Backspace для уничтожения X-сервера?
источник
If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...
Где кнопка настроек на версиях> 13.04?Перейдите в « Настройки системы» → « Keboard» , выберите вкладку « Ярлыки » и добавьте новый пользовательский ярлык для своего браузера. Если ваш браузер по умолчанию - Firefox, используйте
firefox
для в поле команды; если ваш браузер по умолчанию - Firefox, используйтеchromium-browser
и так далее:источник
Вы можете создавать сложные (многоключевые) сочетания клавиш, установив AutoKey из центра программного обеспечения. В отличие от xmodmap, AutoKey не привязывает реальные клавиши на вашей клавиатуре; он работает в фоновом режиме и перехватывает определенные вами сочетания клавиш, а затем отправляет имитированные нажатия клавиш в ваши приложения.
При первом запуске AutoKey служба запускается в фоновом режиме (значок уведомления не обновлялся для единства, поэтому визуальной индикации нет). Как только он запустится, вы можете вызвать интерфейс конфигурации, снова запустив панель запуска:
Теперь откройте «Правка»> «Настройки» и выберите «Автоматически запускать AutoKey при входе в систему», чтобы убедиться, что ваши ярлыки работают при каждом входе в систему.
Сопоставление сочетания клавиш с другим сочетанием клавиш
Введите ключи , которые вы хотите отобразить в в текстовом поле.
+
между ними (например<ctrl>+c
, скопируете в большинстве приложений;<ctrl>+c<ctrl>+n<ctrl>+v
создадите новый документ, содержащий выделение;<shift>+ubuntu
введите текст «Ubuntu»)Нажмите кнопку «Установить» рядом с «Горячей клавишей». Это вызовет диалоговое окно , которое позволяет определить комбинацию клавиш вы хотите отобразить из :
Выберите Файл> Сохранить
Пример завершенной конфигурации (которая отправляется
<enter>
при нажатии<ctrl>+m
) выглядит следующим образом:источник
Попробуй это:
Установите программу под названием XKeyCaps. Чтобы установить, просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:
После установки вы можете выполнить xkeycaps в командной строке для запуска программы. Как только он запустится, выберите правильную раскладку клавиатуры и нажмите ОК
Затем, когда вы получите клавиатуру на экране, щелкните правой кнопкой мыши нужную клавишу, в вашем случае ее S, и выберите обмен ключами.
Обязательно добавьте строку ниже в ваши сессии, чтобы она автоматически запускалась при каждой загрузке.
Источник: UFM ytsejam1138
источник
uname-n
должно бытьuname -n
?unmae-n
. У меня нет доступа к машине с Ubuntu для тестирования, но как только я это сделаю, я проверю дальше.Если вы просто хотите переназначить ключи, другие ответы будут отличными.
Однако есть и другой способ приблизиться к этому. AutoKey - это макропроцессор клавиатуры, который позволяет связать любую комбинацию клавиш / модификаторов со сценарием, который может выполнять практически все, что вы можете делать с клавиатуры, и многое другое.
AutoKey имеет регистратор сценариев и простой способ ввода основных последовательностей клавиш, но его сценарии написаны на Python и могут выполнять практически все, что вы можете кодировать.
Простейший способ использовать его - отправлять нажатия клавиш на ваши приложения / рабочий стол. При таком способе система / приложения не могут сказать, что это не вы печатаете, поэтому не требуется API или другой интерфейс, они просто делают то, что печатали «вы».
AutoKey также может обрабатывать фразы. Когда вы набираете строку запускающего символа, она может заменить новый текст этой строкой (сразу или после ввода символа разделителя, такого как символ новой строки или табуляция).
У него также есть фильтры окон, так что вы можете ограничить выполнение определенной фразы или скрипта только окнами определенного типа (например, в заголовке Mozilla, поэтому они работают только в таких вещах, как Firefox или Thunderbird).
AutoKey в настоящее время имеет версии Gtk и Qt.
Редактирование:
Инструкция по установке
Пользовательский форум Активный пользовательский форум.
В вики есть несколько примеров сценариев. Поскольку это, прежде всего, приложение с графическим интерфейсом и множеством опций, для примеров потребуется множество скриншотов и целая статья.
У меня есть определенная фраза, так что, когда я набираю « Jmail! », Она мгновенно заменяет ее довольно длинным адресом электронной почты.
Я написал скрипт , который срабатывает при типизации Ctrl- Pкоторая активна только в окнах , которые имеют «Mozilla» в их названии. Ввод текста Ctrl- Pвызывает диалоговое окно печати (Firefox или Thunderbird), выбирает «Печать в файл», а затем заполняет имя следующего доступного файла печати в моей очереди печати (я нумерую их как 01, 02, ..., и сценарий считывает очередь каталог, находит последний номер файла и увеличивает его на 1). Я использую его с моим программным обеспечением для эмуляции двусторонней печати ( duplexpr ), чтобы исключить массу нажатий клавиш и движений мыши.
Я видел некоторые другие сценарии от геймеров, которые позволяют им очень быстро получать доступ к информации о своем персонаже и ресурсах, чтобы они могли сосредоточиться на действии.
источник
ИСПОЛЬЗОВАНИЕ КЛАВИАТУРЫ В КАЧЕСТВЕ МЫШИ
Вы можете сопоставить клавишу клавиатуры с кнопкой мыши. Если вы хотите нажать с помощью клавиши клавиатуры (полезно, если у вас MacBook или плохая кнопка трекпада), вы можете сделать следующее.
установите несколько утилит:
найдите код для ключа, который вы хотите отобразить:
xev | grep keycode
в терминаленажмите клавишу интереса, и появится строка, подобная этой:
используя код клавиши, переназначьте клавишу так же, как и левой кнопкой мыши:
xkbset m
xmodmap -e "keycode 64 = Pointer_Button1"
Pointer_Button3
является правой кнопкой мыши иPointer_Button2
находится посередине.источник
Использование xkb
xkb
является расширением X Keyboard. Он отвечает за сопоставление клавиш вашей клавиатуры их назначенным функциям.xkb
символы могут быть найдены в/usr/share/X11/xkb/symbols/
. Клавиши-модификаторы отображаются в/usr/share/X11/xkb/symbols/pc
.Скажем, мне нужно переключать функции
Caps Lock
иLeft Control
клавиши. Эти изменения необходимы дляpc
файла:Чтобы применить новые сопоставления, вам необходимо очистить
xkb
кеш от/var/lib/xkb
:Теперь просто перезапустите сеанс X, и все готово.
Источник: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/
Изменить: Выполнение
ls
внутриsymbols
каталога дает это:Отображения внутри файла
ru
основаны на российской стандартной клавиатуре.macintosh_vndr
Папка содержит отображение для Apple , клавиатур. Короче говоря, этот подход очень универсален. Иди и играй с этим :)источник
/usr/share/X11/xkb/symbols/pc
.Оказалось, что он находится под приложением «клавиатура».
Если вы поднимете это, вы можете изменить ярлыки по мере необходимости ...
Изменение немного странно при первом использовании. Вы щелкаете справа (столбец с ctrl-alt-T, Disabled и т. Д., Затем нажимаете фактические ключи, например, те, ctrlaltbкоторые вы хотите. Вы увидите новую последовательность клавиш, появившуюся теперь в этом пространстве. Закройте окно ( или щелкните прочь), и новый ярлык теперь будет работать.
источник
Ярлык уже существует как WWW, просто измените его на Ctrl+ Alt+ b. Не нужно создавать новый.
источник
CompizConfig Settings Manager (CCSM)
CCSM позволяет изменять некоторые сочетания клавиш системы.
Чтобы установить его, используйте Центр программного обеспечения или эту команду:
Например
Я использовал его, чтобы изменить ярлык «Распространение окна» со стандартного Super+ Wна Super+ Tab, как в Windows 10. Из моего ответа в другой теме :
источник
Я хотел нажать Print Screen, чтобы сохранить снимок экрана с помощью
gnome-screenshot
приложения, как в MintНо я хотел сделать это с помощью терминала, а не с графическим интерфейсом, так как я хочу сделать его по умолчанию при создании собственного ISO с использованием
squashfs
инструментов.Сначала я установил gnome-screenshot с помощью команды
Затем я назначил пользовательский ярлык с помощью Настройки -> Клавиатура -> Пользовательские ярлыки -> Кнопка Добавить (+) ->
В диалоге:
Нажмите кнопку Добавить
Затем нажмите Print screenклавишу.
Ключ теперь привязан, и я могу сохранять снимки экрана по мере необходимости.
Но не используя терминал, это способ GUI
Затем я установил
dconf-editor
с помощьюИ искать
gnome-screenshot
я нахожу мои пользовательские привязки клавиш по этому пути
Значения ключей:
Теперь я копирую их и удаляю пользовательскую комбинацию клавиш GUI
Я открываю терминал и набираю эти команды
И вуаля
Теперь я могу сохранять снимки экрана без графического интерфейса, используя только
dconf
терминал. Мне больше не нужноdconf-editor
, он был просто установлен, чтобы получить значения.источник
Я попробовал решение Кевина (подход xmodmap) на Ubuntu 18.04. Это не сработало в моем случае. Все же эта процедура заставила это работать наконец:
xmodmap .Xmodmap
в файл с именем,.xsession
а не.xinitrc
./home/<YOUR_USER_NAME>/.xsession
команды as.источник