В удивительном оконном менеджере, как я могу заставить привязки клавиш отправлять события клавиатуры?

11

Я не думаю, что название, вероятно, очень поможет, но вот моя проблема:

Я использую отличный оконный менеджер и пытаюсь сделать так, чтобы привязки клавиш были похожи на OSX для специальных ключей. Я учу немецкий, поэтому мне нужно регулярно вводить гласные с умлаутами (двойными точками) над ними. В OSX, чтобы сделать это, вы нажимаете Alt + U, а затем гласную.

Очевидно, что это будет нереально, но я хочу, чтобы modkey + отправлял событие клавиатуры, чтобы создать впечатление, что я нажал клавишу «ум».

Должен ли я сначала изменить раскладку клавиатуры? Так, что код изменяет макет, отправляет соответствующее событие, а затем изменяет его обратно? Или я могу отправить событие без изменения макета?

И как мне отправить событие в первую очередь, если это возможно?

Брайан
источник

Ответы:

5

Вы сделали бы это через Xmodmap, а не через оконный менеджер. Это напрямую связано с вашей раскладкой клавиатуры / раскладкой клавиатуры, а не с вашим оконным менеджером.

Чтобы изменить свой xmodmap, создайте файл с именем ~/.Xmodmapи добавьте следующий контент. Это должно позволить вам набирать üäöß напрямую с помощью altgr + u

keysym a = a A adiaeresis Adiaeresis
keysym o = o O odiaeresis Odiaeresis
keysym u = u U udiaeresis Udiaeresis
keysym s = s S ssharp section

После этого вы должны применить содержимое этого файла с xmodmap ~/.Xmodmap

Другой способ ввода умлаутов - это использование международного макета США. Это позволяет вам вводить умляуты с помощью "+ char. Чтобы ввести ä, вам нужно будет войти "a. Международный макет также доступен в Windows и, насколько я знаю, в OSX.

setxkbmap -layout us -variant intl
Ульрих Дангел
источник
Однако оконный менеджер (в частности, Awesome WM) имеет функцию, которая не позволяет перехватывать привязки клавиш VirtualBox. Я не думаю, что setxkbmap может помочь здесь.
Привет-ангел
11

Вы можете настроить составной ключ для всех видов последовательностей клавиш .

Существуют конкретные инструкции для Ubuntu , но они предполагают, что вы используете рабочую среду, такую ​​как Gnome или Xfce.

Если вы используете awesome в качестве автономного оконного менеджера, вы можете установить ключ compose в своем .xinitrcфайле следующим образом (в этом примере используется правильный Altключ):

setxkbmap -option compose:ralt

Затем, чтобы составить ä, к примеру, вы попали: CtrlRAlt, ",a

Вы можете прочитать больше о ключе Compose на странице Википедии .

jasonwryan
источник
6

В дополнение к клавише Compose вы также можете настроить клавишу для выбора так называемого «третьего уровня», выбрав одну из «международных» раскладок клавиатуры. В Debian я использую «английский (международные мертвые ключи AltGr)». На клавиатурах ПК, AltGrна самом деле, предназначено для этой цели, и X любит назначать его на смену третьего уровня по умолчанию. Вы также можете сделать это явно.

Все, что вам нужно, чтобы сделать эту работу, это удерживать AltGrи нажать клавишу на клавиатуре (это в основном еще одна клавиша Shift). Именно так и работает на Mac.

Акценты более интуитивно доступны, чем умлауты. AltGr+ aВопросы á . Умлаут версия использует клавишу рядом с клавишей гласной на клавиатуре:

AltGr+ Qä

AltGr+ Rë (хорошо, не умлаут ; перечислю только для полноты)

AltGr+ Jï (то же самое)

AltGr+ Pö

AltGr+ Yü

Нажмите их Shiftклавишей вниз, чтобы получить версии в верхнем регистре, например AltGr+ Shift+ QÄ .

Алексиос
источник