Я хочу изменить привязки клавиш на некоторых ключах на моей клавиатуре. Я хочу, чтобы некоторые к командам выполнения и другим активировали различные ключи.
Какие приложения я могу использовать, чтобы сделать это?
Индекс:
Клавиатура по умолчанию и настройки ярлыка (из Параметров настройки системы)
Я хотел нажать Print Screen, чтобы сохранить снимок экрана с помощью приложения gnome-screenshot
, как in Mint
Но я хотел сделать это с помощью терминала, а не графического интерфейса, так как я хочу сделать это по умолчанию при создании пользовательского ISO с помощью инструментов squashfs
.
Сначала я установил gnome-screenshot с помощью команды
sudo apt-get install gnome-screenshot
Затем я назначил настраиваемый ярлык, используя Настройки -> Клавиатура -> Пользовательские ярлыки -> Кнопка добавления (+) ->
В диалоговом окне:
Нажмите кнопку «Добавить»
Затем нажмите Клавиша печати экрана .
Теперь ключ привязан, и я могу сохранить снимки экрана по мере необходимости.
Но не используя терминал, это способ графического интерфейса
Затем я установил dconf-editor
с помощью
sudo apt-get install dconf-editor
И поискав gnome-screenshot
, я нахожу свои собственные привязки клавиш по этому пути
/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/
Значения клавиш следующие:
Теперь я копирую их и удаляю пользовательскую комбинацию клавиш GUI
Я открываю терминал и введите эти команды
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"
И вуаля
Теперь я могу сохранять снимки экрана без какого-либо графического интерфейса, только используя dconf
и терминал. Мне больше не нужен dconf-editor
, он был установлен только для получения значений.
CCSM позволяет изменять некоторые системные сочетания клавиш.
Чтобы установить его, используйте Центр программного обеспечения или эту команду:
sudo apt-get install compizconfig-settings-manager
Я использовал его, чтобы изменить ярлык "Window spread" по умолчанию Super + W на Super + Tab , как на Windows 10. Из мой ответ в другом потоке :
Ярлык уже существует как WWW, просто измените его на Ctrl + Alt + b . Не нужно создавать новый.
xkb
- клавиатура X расширение. Он отвечает за привязку клавиш вашей клавиатуры к их назначенным функциям.
xkb
символы можно найти в / usr / share / X11 / xkb / symbols /
. Клавиши-модификаторы расположены в / usr / share / X11 / xkb / symbols / pc
.
Скажем, мне нужно переключить функции Caps Lock
и Left Управляющие клавиши
. Эти изменения необходимы в файле pc
:
key <CAPS> { [ Control_L ] };
key <LCTL> { [ Caps_Lock ] };
Для применения новых сопоставлений вам необходимо очистить кеш xkb
из / var / lib / xkb
:
rm -rf /var/lib/xkb/*
Теперь просто перезапустите сеанс X, и все готово.
Источник: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/
Изменить:
Выполнение ls
внутри каталога символов
дает следующее:
af cm gn kz nec_vndr sk
al cn gr la ng sn
altwin compose group latam nl sony_vndr
am ctrl hp_vndr latin no srvr_ctrl
apl cz hr level3 nokia_vndr sun_vndr
ara de hu level5 np sy
at digital_vndr ie lk olpc terminate
az dk il lt pc th
ba ee in lv ph tj
bd empty inet ma pk tm
be epo iq macintosh_vndr pl tr
bg es ir mao pt tw
br et is md ro typo
brai eurosign it me rs tz
bt fi jp mk ru ua
bw fo ke ml rupeesign us
by fr keypad mm se uz
ca fujitsu_vndr kg mn sgi_vndr vn
capslock gb kh mt sharp_vndr xfree68_vndr
cd ge kpdl mv shift za
ch gh kr nbsp si
Отображения внутри файла ru
основаны на стандартной русской клавиатуре. Папка macintosh_vndr
содержит сопоставления для клавиатур Apple. Короче говоря, этот подход очень универсален. Вперед, поиграйте с ним :)
Если вы просто хотите переназначить ключи, другие ответы будут отличными.
Однако есть другой подход к этому. AutoKey - это макропроцессор клавиатуры, который позволяет связать любую комбинацию клавиш / модификаторов со сценарием, который может делать практически все, что вы можете делать с клавиатуры, и многое другое.
AutoKey имеет записывающее устройство сценариев и простой способ ввести базовые последовательности клавиш, но его сценарии написаны на Python и могут делать практически все, что вы можете кодировать.
Самый простой способ использовать его - заставить его отправлять нажатия клавиш в ваши приложения / рабочий стол. При использовании таким образом система / приложения не могут определить, что это не вы печатаете, поэтому не требуется никакого API или другого интерфейса, они просто делают то, что набрали «вы».
AutoKey также может обрабатывать фразы. Когда вы вводите строку запускающих символов, она может заменять эту строку новым текстом (либо сразу, либо после того, как вы вводите символ-разделитель, например новую строку или табуляцию).
Он также имеет фильтры окон, чтобы вы могли ограничить определенную фразу или скрипт для запуска только в определенных типах окон (например, тех, у которых есть Mozilla в названии, поэтому они работают только в таких вещах, как Firefox или Thunderbird).
AutoKey в настоящее время имеет версии Gtk и Qt.
Изменения:
Форум пользователей Форум активных пользователей.
В вики есть несколько примеров скриптов. Поскольку это в первую очередь приложение с графическим интерфейсом и множеством опций, для примеров потребуется много снимков экрана и целая статья.
У меня есть фраза, определенная так, что когда я набираю « Jmail! », она мгновенно заменяет ее моим довольно длинным адресом электронной почты.
Я написал сценарий, который запускается при вводе Ctrl - P , который активен только в тех окнах, в названии которых есть «Mozilla». Ввод Ctrl - P вызывает диалоговое окно печати (Firefox или Thunderbird), выбирает «Печать в файл», а затем вводит имя следующего доступного файла печати в моей очереди печати (я номер их 01, 02, ... и сценарий считывает каталог очереди, находит последний номер файла и увеличивает его на 1). Я использую его с моим программным обеспечением для эмуляции дуплексной печати ( duplexpr ), чтобы избавиться от множества нажатий клавиш и движений мыши.
Я видел некоторые другие сценарии от геймеров, которые позволяют им получить очень доступ к информации о своем персонаже и ресурсах. быстро, чтобы они могли сосредоточиться на действии.
sudo apt-get install xbindkeys
Xbindkeys - бул ачкычтарды оңой эле оңдоп түзүүгө мүмкүнчүлүк берген ар тараптуу программа. Ал сиздин үй каталогунда жайгашкан конфигурация файлын колдонуп, ачкычтын байлашын айрым буйруктарга алмаштырат.
Демейки конфигурация файлын түзүү үчүн сиз төмөнкү буйрукту колдонуңуз:
xbindkeys --defaults
Кайра орнотулган конфигурация файлын басып чыгарат. Демек, демейки маанилерди камтыган файлды түзгүңүз келсе, анда сиз төмөнкүлөрдү колдоносуз:
xbindkeys --defaults > $HOME/.xbindkeysrc
Үй шартында жайгашкан .xbindkeysrc
деген жашыруун файлга демейки баалуулуктарды басып чыгарган () ~
).
Эми өзгөртүү үчүн ачкычтардын байлоо белгилери, адегенде ал баскычтардын аталышы же ачкыч символу эмне экендигин билишибиз керек. xbindkeys
ачкычтын же баскыч айкалышынын атын табуу үчүн -k
туткасын колдонууга мүмкүнчүлүк берет. Run:
xbindkeys -k
Жана баскычты же баскыч айкалышын басыңыз. Сиздин өндүрүшүңүз буга окшош бир нерсе көрүнөт ( боштукту басканда ):
"NoCommand"
m:0x10 + c:65
Mod2 + space
"Буйрук жок"
учурда эч кандай буйрук мейкиндик менен байланышпагандыгын айтат. ачкыч.
m:0x10 + c:65
Mod2 + space
Ачкыч / баскыч айкалышынын аталышы.
Мурун жасаган конфигурация файлын ачууга мүмкүнчүлүк берели:
gedit .xbindkeysrc
Бул жерде демейки конфигурациядан үзүндү келтирилген. файл:
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#
# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show"
control+shift + q
#
менен башталган ар бир сап комментарий болуп саналат жана xbindkeys
тарабынан окулбайт же иштетилбейт.
Азырынча комментарий берилбеген жалгыз сап is:
"xbindkeys_show"
control+shift + q
Бул үзүндү xbindkeys
буйруктарынын негизги синтаксисин көрсөтөт:
"Command to run (in quotes)"
key to associate with command (no quotes)
Көрүнүп тургандай:
"xbindkeys_show"
control+shift + q
xbindkeys_show
буйругун Ctrl басканда аткарат. + Shift + q .
Эми бир нече баскычты байлап көрөлү. Демейки файлды толугу менен тазалоону сунуштайм, себеби ал бош. Ал сиз алдын-ала бекитилген ачкыч байламаларын камтыйт.
Эми браузериңизди ачуу үчүн Ctrl + b колдонууну каалайсыз. Алгач сиз Ctrl + b аталышы же ачкыч эмне экендигин билишиңиз керек.Жогоруда айтылгандай, xbindkeys -k
ачкычтын же баскычтын атын табуу үчүн колдонсоңуз болот, бирок оңой жолу бар. Ctrl + b сыяктуу жөнөкөй айкалыштар үчүн, сиз жөн эле колдоно аласыз:
Control+b
Бир топ оңой эмеспи!
Эми сүйүктүү браузериңиздин командасын табыңыз:
Firefox үчүн: firefox
Chromium үчүн: chromium-browser
Opera үчүн: opera
Мурунку синтаксисти эсиңиздеби? Ctrl + b баскычын басканда Firefoxту (же башка сүйүктүү браузериңизди) ишке киргизүү үчүн xbindkeys
буйругу мындай:
"firefox"
Control+b
Эми муну конфигурация файлыңызга жана сакта. Эми сиздин буйрук иштебей жаткандыгын байкай аласыз, себеби xbindkeys
иштебей жатат. Аны баштоо үчүн терминалдан xbindkeys
иштетүү керек. Сиздин Ctrl + b эми браузериңизди башташы керек!
Эгер сиз клавиатураңыздагы баскычтын башка баскычты чакырышын кааласаңыз клавиатура, сизге кошумча программалык камсыздоо керек болот, анткени xbindkeys
муну өзү колдобойт. Мен колдоно турган эки программаны билем, xdotool
жана xte
. Мен xte
дегенди жактырам, ошондуктан мен аны колдоном.
Орнот:
sudo apt-get install xautomation
xte
үчүн синтаксис мындай:
xte 'command key/mousebutton/xyCoordinates'
Мисалдар:
Кимге бир баскычты басыңыз: 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'"
Control+b
Сиз божомолдогондой, бул xte 'ачкыч b'
биз Ctrl + b басканда, ал сиз иштеп жаткан кандайдыр бир документке b киргизет.
] Бирок белгилей кетүүчү нерсе, xbindkey
жана xte
ар дайым бирдей иштей бербейт. Чыгарууну алуу үчүн кээде баскычтарды так басуу керек, башка учурда ал жакшы иштейт. Бул тутумдун конфигурациясы жана / же жабдыктары менен байланыштуу болушу мүмкүн же болбошу мүмкүн .. Мен ишенбейм. Ачкычтарды башка ачкычтарга байлоонун ишенимдүү жолун maggotbrain жообун караңыз.
Ошондой эле xbindkeys
чычкан баскычтарын байлоо үчүн колдонсоңуз болот буйруктар (жана андан тез баскычтар, жогору караңыз). Чычкан баскычтарынын негизги форматы сизге жакшы тааныш болушу керек:
" [command to run] "
b:n
Бул жерде [иштетүү буйругу]
- бул иштетиле турган буйрук жана n
чычкан баскычынын номери
Эгерде сиз чычкан баскычынын санын билбесеңиз, анда ал xev
эмне экендигин билүү үчүн:
xev | grep button
Чыгыш төмөнкүдөй болот:
user@host:~$ xev | grep button
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
state 0x10, button 2, same_screen YES
state 0x210, button 2, same_screen YES
state 0x10, button 3, same_screen YES
state 0x410, button 3, same_screen YES
Мен чычкан баскычтарынын ар бирин басканда.
Мисалы:
" firefox "
b:2
Менин чычканымдын ортоңку баскычын басканда firefox иштетилет.
Оказалось, что он находится в приложении «клавиатура».
Если вы откроете это, вы можете изменить сочетания клавиш по мере необходимости ...
изменение немного странное при первом использовании. Вы щелкаете справа (столбец с ctrl-alt-T, Disabled и т. Д., Затем нажимаете фактические клавиши, например ctrl alt b , которые хотите. теперь в этом месте появляется новая последовательность клавиш. Закройте окно (или щелкните мышью), и новый ярлык будет работать.
Попробуйте следующее:
Установите программу под названием XKeyCaps. Для установки просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть Терминал. Когда он откроется, выполните команду (ы) ниже:
sudo apt-get install xkeycaps
После установки вы можете выполнить xkeycaps в приглашении для запуска программы. После запуска выберите правильную раскладку клавиатуры и нажмите OK.
Затем, когда вы увидите клавиатуру на экране, щелкните правой кнопкой мыши нужную клавишу, в вашем случае это S , и выберите обмен клавишами. .
Не забудьте добавить строку ниже к своим сеансам, чтобы он запускался автоматически при каждой загрузке.
xmodmap ~/.xmodmap-`uname-n`
Источник: UFM ytsejam1138
Вы можете создавать сложные (многоклавишные) сочетания клавиш, установив AutoKey из программного центра. В отличие от xmodmap, AutoKey не выполняет повторную привязку реальных клавиш на клавиатуре; он работает в фоновом режиме и перехватывает определенные вами сочетания клавиш, а затем отправляет имитированные нажатия клавиш в ваши приложения.
При первом запуске AutoKey он запускает службу в фоновом режиме (значок уведомления не был обновлен для единства, так что нет визуальной индикации). После его запуска вы можете вызвать интерфейс конфигурации, снова запустив программу запуска:
Теперь откройте «Правка»> «Настройки» и выберите «Автоматически запускать AutoKey при входе в систему», чтобы убедиться, что ваши ярлыки работают всякий раз, когда вы входите в систему.
Введите в текстовое поле клавиши, которые вы хотите сопоставить с .
+
(например, + c
будет копироваться в большинстве приложений; ] + c + n + v
создаст новый документ, содержащий выделение; + ubuntu
наберет текст «Ubuntu») Нажмите кнопку «Установить» рядом с «Горячей клавишей». Появится диалоговое окно, в котором вы можете выбрать комбинацию клавиш, которую вы хотите сопоставить с :
Выберите файл> Сохранить
Пример завершенной конфигурации (которая отправляет <введите >
при нажатии
) выглядит так:
Перейдите в Системные настройки → Keboard , выберите вкладку Ярлыки и добавьте новый пользовательский ярлык для своего браузера. Если вашим браузером по умолчанию является Firefox, используйте firefox
в поле команды; если ваш Браузер по умолчанию - Firefox, используйте chromium-browser
и так далее:
Демейки боюнча (Бул Сеттин Мыкты Жоопун толуктоо үчүн гана), Ubuntu (Бул мисалда мен 16.04 колдонуп жатам) Тутумдун Орнотууларында демейки боюнча келген 2 категория бар:
Тутум жөндөөлөрүнө өтүү үчүн, Жогорку оң жакта Gear сүрөтчөсүн чыкылдатыңыз:
Андан кийин Тутум Жөндөөлөрүн тандаңыз:
Бул жерден таба аласыз Сизди Кыска жолду түзүү бөлүмүнө жөнөтө турган 2 вариант.
Эгерде сиз Текст жазууну тандасаңыз, анда сизди Баскычтоп Жөндөөлөрү Төмөнкү Оң жактагы түздөн-түз жөнөтө турган шилтемени тандашыңыз керек.
Эгер Баскычтоп параметрин тандасаңыз, Кыска жолдор Өтмөктү
Кыстырмалар өтмөгүнө келгенден кийин, сол жактагы тизменин ылдый жагындагы Ыкчам баскычтарды тандасаңыз болот:
] Андан кийин, өзүңүздүн Кыска жолду түзүп баштоо үчүн, ылдый жагындагы Кошумча Белги баскычын чыкылдатыңыз:
Мындан ары, жарлыктын аталышын кошуу сизге гана байланыштуу (чаташтырбаңыз. жарлыктын аты, сиз аткара турган чыныгы буйруктун аталышы үчүн). Төмөндө, Буйрук талаасында ушул жарлык үчүн кандай буйрук аткарыларын кайда коюңуз. Төмөнкү мисалда мен бул кыска жолдун эмне менен байланыштуу экендигин билүү үчүн Кыска жолду "Улуу Текст 3" деп атадым. Командалык талаага мен subl
болгон буйрукту коштум.
Сиз экранда төмөнкүлөрдү көрсөтөсүз, анда жарлыкта баскыч же баскыч айкалышы дайындала элек болгондуктан, ал демейки боюнча өчүрүлгөн:
Андан кийин ага "Өчүрүлгөн" деген билдирүүнү баскычтын айкалышын кошуу үчүн чыкылдатабыз:
Бул бөлүктө мен SHIFT + CTRL + S , мен ушул айкалышты басканда, ал Sublime Text App ачылат.
Андан кийин, сиз жөн гана тиешелүү баскычтар айкалышын басуу жана көрүп, өз айкалышын текшере аласыз колдонмо ачык:
ЭСКЕРТҮҮ: X Серверди өлтүрүү сыяктуу атайын айкалыштар үчүн мен төмөнкү шилтемеге баш багууну сунуштайм: Кантип Ctrl-Alt-Backspaceге X серверди өлтүрүүгө болот?
Изменение привязки клавиш с помощью xev
и xmodmap
.
Оба приложения командной строки доступны по умолчанию, поэтому есть нет необходимости устанавливать дополнительное программное обеспечение.
Xev "создает окно, а затем просит X-сервер отправлять ему события всякий раз, когда что-либо происходит с окном (например, при его перемещении, изменении размера, вводе, нажатии, и т. д.). " страница руководства xev
xmodmap - это " программа, используемая для редактирования и отображения карты модификаторов клавиатуры и таблицы раскладки клавиш, которые используются клиентскими приложениями для преобразования кодов клавиш событий в символы клавиш . " справочная страница xmodmap
В следующем примере ключ Caps_Lock будет переназначен на поведение клавиши Esc (Многие пользователи vi / vim считают это полезным отображение клавиатуры).
Запустите приложение xev
из окна терминала ( Ctrl - Alt - [118331] 0] t ).
Приложение инициализируется, отображает количество строк и запускает пустое окно.
Держите окно приложения xev
в фокусе и нажмите клавишу, свойства / поведение которой вы хотите использовать.
В окне терминала вы увидите несколько строк вывода. Обратите внимание на возвращенную 3-ю строку. Он будет содержать имя свойства, которое вы хотите переместить на другую клавишу.
KeyPress event, serial 32, synthetic NO, window 0x3e00001,
root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
XLookupString gives 1 bytes: (1b) ""
В этом случае клавиша Esc (код клавиши 9) использует имя «Escape» .
На этот раз мы ищем код клавиши, который использует Caps Lock .
Снова обратите внимание на 3-ю строку:
KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XKeysymToKeycode returns keycode: 9
XLookupString gives 1 bytes: (1b) ""
Теперь, когда мы получили информацию о ключах, которые мы хотим изменить из xev
, мы будем использовать xmodmap
, чтобы изменить раскладки клавиатуры.
В командном терминале ( Ctrl + Alt + t ) выполните следующие команды:
Эта команда изменяет Caps Lock чтобы использовать то же поведение, что и Esc
xmodmap -e "keycode 66 = Escape"
Эта опция печатает таблицу раскладки клавиатуры в виде выражений в файл ~ / .Xmodmap
xmodmap -pke> ~ / .Xmodmap
Активируйте изменения (только для этого сеанса входа в систему) с помощью следующей команды:
xmodmap ~/.Xmodmap
Сохранение изменений при перезагрузках:
Если он не существует, создайте в своей домашней папке файл с именем .xinitrc
.
touch .xinitrc
Поместите в файл следующую строку и сохраните файл:
xmodmap ~ / .Xmodmap
(например, Num Lock )
Получите таблицу раскладки клавиш для клавиш-модификаторов (здесь вывод сокращен)
$ xmodmap -pm
сдвиг Shift_L (0x32), Shift_R (0x3e)
mod2 Num_Lock (0x4d)
Если вы хотите изменить, например, поведение периода на клавише Del / Period на цифровой клавиатуре, на запятую, используйте следующую команду:
xmodmap -e "keycode 91 mod2 = KP_Delete comma"
Обратите внимание, что здесь используется отображение клавиш mod2
для изменения поведения клавиш при нажатии модификатора Num Lock .
Синтаксис для этого:
xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"
ИСПОЛЬЗОВАНИЕ КЛАВИАТУРЫ В КАЧЕСТВЕ КНОПОК МЫШИ
Возможно, вы захотите сопоставить клавишу клавиатуры с мышью кнопка. Если вы хотите нажимать с помощью клавиши клавиатуры (полезно, если у вас Macbook или плохая кнопка трекпада), вы можете сделать следующее.
установить некоторые утилиты:
sudo apt-get install x11-utils xkbset x11- xserver-utils
найдите ключевой код для ключа, который вы хотите сопоставить:
xev | grep keycode
в терминале нажмите интересующую клавишу, и появится такая строка:
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
с помощью кода клавиши переназначьте клавишу, чтобы она выполнялась так же, как левая кнопка мыши:
xkbset m
xmodmap -e "keycode 64 = Pointer_Button1"
Pointer_Button3
- правая кнопка мыши и Pointer_Button2
- средний.
Я попробовал решение Кевина ( подход xmodmap) в ubuntu 18.04. В моем случае это не сработало. И все же эта процедура заставила его работать:
xmodmap.Xmodmap
в файле с именем .xsession
, а не .xinitrc
. / home / <ИМЯ_ПОЛЬЗОВАТЕЛЯ> /.xsession
как команда.