環境
問題
新しいVirtualBox vmを作成し、標準のデスクトップISOからPreciseをインストールしました。インストールの一部として、「English UK(Mac International)」キーマップを選択しました。すべてのキーが正しい文字を出力しているようですが、一部のキーでは、キーを2回押すまで文字が登録されません。
たとえば、最初に `キーを押すと、ターミナルプロンプトに文字が表示されません。ただし、2回目は機能します。
これは、他の一部のキーとシフトの組み合わせでも発生します。つまり、〜(shift + `)も影響を受けます。
詳細情報
xev出力
最初のキープレス:
KeyPress event, serial 30, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3935772, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_Grave), same_screen YES,
XLookupString gives 1 bytes: (60) "`"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyRelease event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3935884, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_Grave), same_screen YES,
XLookupString gives 1 bytes: (60) "`"
XFilterEvent returns: False
2回目のキープレス:
KeyPress event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3939630, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_Grave), same_screen YES,
XLookupString gives 1 bytes: (60) "`"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyPress event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3939630, (317,33), root:(320,141),
state 0x0, keycode 0 (keysym 0x60, Grave), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 1 bytes: (60) "`"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3939777, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_Grave), same_screen YES,
XLookupString gives 1 bytes: (60) "`"
XFilterEvent returns: False
3回目のキープレス:
KeyPress event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3956078, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_Grave), same_screen YES,
XLookupString gives 1 bytes: (60) "`"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyRelease event, serial 33, synthetic NO, window 0x4a00001,
root 0x138, subw 0x0, time 3956214, (317,33), root:(320,141),
state 0x0, keycode 94 (keysym 0xfe50, dead_Grave), same_screen YES,
XLookupString gives 1 bytes: (60) "`"
XFilterEvent returns: False
追加の「Grave」キーを押すと、他のすべての物理的なキーを押すだけで放出されるようです。
これらのキーのキーボードマップは正しくないようです。最も簡単な解決策は、xmodmapを介して次の修正を行うことです。
$ xmodmap -e 'keycode 94 = Grave asciitilde'
$ xmodmap -e 'keycode 48 = apostrophe quotedbl'
ログイン時にこれらの変更を適用するには、ホームディレクトリに.Xmodmap
というファイルを作成し、次の内容を含めます。
keycode 94 = Grave asciitilde
keycode 48 = apostrophe quotedbl
ジョンストクの答えの単なる補遺。追加
keycode 94 = Grave asciitilde
keycode 48 = apostrophe quotedbl
.Xmodmapをホームディレクトリにファイルし、実行するには
xmodmap .Xmodmap
私にとってはこれでうまくいきましたが、再起動するたびに以前の方法に戻りました。 xmodmap .Xmodmap
を.bashrcファイルに挿入して、貼り付けます。