2つのアクティブなsetxkbmapレイアウトを持つxmodmapを使用してコロン/セミコロンを再マップします。

2つのアクティブなsetxkbmapレイアウトを持つxmodmapを使用してコロン/セミコロンを再マップします。

神社、

私の母国語は英語ではなく、2番目の言語レイアウトが必要です。私はVimをたくさん使っていて、:Vimを;。 )に入れることができます。.vimrc.xinitrc.Xmodmap

以下はうまくいきます。

setxkbmap -layout us,ru -option grp:toggle # change layout with AltGr
xmodmap -e "keycode 47 = colon semicolon" # remap : and ;

このキーはusレイアウトでのみ機能します。これを切り替えると、ruコロン(「ж」と「Ж」が印刷されると予想されます)も含め、何もしません。

私はxmodmapがKEYCODEをKEYSYMに変換する役割を担っていることを知ってそれを台無しにしましたが、少なくとも小文字の代わりに大文字を印刷し、その逆も同様です。

私が何か間違っているのか、それとも何かを見逃しているのでしょうか?

PSアーチLinuxLinux version 3.10.3-1-ARCH

答え1

さて、3番目のKEYSYMパラメータとして渡す必要があるようです:

xmodmap -e "keycode 47 = colon semicolon Cyrillic_ZHE"

関連情報