いくつかのzle関数(たとえば、Altや「{」)をバインドしたいのですが、関数を書いたM-{
としても、を押すと端末が実行されないことがわかりましたM-{
。
{
端末に送信するにはを押しAltGr-x
ますがM-{
、実際にはそうですM-AltGr-x
。ターミナルがどのような主要なイベントを受け取ったかを調べる
ために走りました。$ xev
結果は次のとおりです。
を押すと、M-AltGr
端末は2つのイベントを受信します。
64 Alt_L
108 ISO_Level3_Shift
「x」を押すと、端末は何も受信しません。
「x」を離すと、端末は2つのイベントを受信します。
64 Alt_L
108 ISO_Level3_Shift
私はどんなキーもM-AltGr
。M-AltGr
を押すと、M-AltGr
端末は2つのイベントを受信します。
64 Alt_L
108 ISO_Level3_Shift
「a」を押すと、端末は1つのイベントを受信します。
24 bar
これは、AltGr+aがバー文字を生成するようにレイアウトをカスタマイズしたためです。
以下は問題を説明するgifです。
を押しM-AltGr
てから「a」を5回押し、次に「x」を5回押します。
キーボードのすべてのキーをテストしましたが、M-AltGr
この25を除くすべてのキーは次のように動作します。
1
6
8
keypad_3
keypad_7
keypad_8
lower than sign
CapsLock
F1
F2
F3
F5
PgDown
Tab
b
d
f
g
i
j
o
u
v
w
x
私のキーボードレイアウトに問題があるようで、一時的にデフォルトの英語レイアウトに切り替えました。しかし、結果は同じようです。M-AltGr
最初の25を除くすべてのキーを組み合わせることができます。 1つの顕著な違いは、を押すと、M-AltGr
端末が次の2つのイベントを受信することです。
64 Alt_L
68 Alt_R
変える:
64 Alt_L
108 ISO_Level3_Shift
OSの起動時に、次のシェルコマンドを実行するスクリプトを実行してキーボードレイアウトを設定しました。
$ xkbcomp -I"$HOME/.config/keyboard/xkb" "$HOME/.config/keyboard/xkb/map" "$DISPLAY"
ファイルには~/.config/keyboard/xkb/map
次のxkbコードが含まれています。
xkb_keymap {
xkb_keycodes { include "evdev+aliases(azerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+fr(latin9)+programming(special_chars)+modifier(caps_ctrl)+modifier(enter_ctrl)+inet(evdev)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc105)" };
};
Ubuntu 16.04を使用しています。
一部のキーを組み合わせることができないのはなぜですかM-AltGr
?この問題を解決する方法はありますか?
私の目標は、私が押したときに現在のシーケンスを受け取るように、ターミナルエミュレータ(xtermなど)がEscape {
このシーケンスを押すとシーケンスを受け取ることですM-AltGr-x
。Escape |
M-AltGr-a