答え1
まれなキーバインディングまたはカスタムキーバインディングをマッピングするには、手動で編集する必要があります。xmodmapそしてXが起動するたびに起動することを確認してください。
もしシフ動作しません。実行することもできます。showkey --keycodes
実行するとshowkey --keycodes
エラーが返されます。
コンソールを参照するファイル記述子を取得できません。
したがって、最初の列番号を実行して使用する必要がありますshowkey --ascii
。この場合、10進数
a 97 0141 0x61
9716進数に変換 以下のように xev が返すキー a に対してチェックされ、正しい値 61 を返します。
X セッションを開始するには、xfce デスクトップ環境にログインし、xev を実行します。小さなウィンドウがポップアップし、端末はキーボードから受け取った各キーインタラクションのデータ出力を開始します。
これは、aキーを押して放したときにxevが生成した出力です。
KeyPress event, serial 48, synthetic NO, window 0x2400001,
root 0x13e, subw 0x0, time 5887747, (622,717), root:(633,745),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 48, synthetic NO, window 0x2400001,
root 0x13e, subw 0x0, time 5887843, (622,717), root:(633,745),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
マップされていないキーを押すと、キーコード番号の後にNoSymbol値が返されます。
NoSymbolキーが認識されるたびにキーコード番号を書き留めます。
KeyRelease event, serial 28, synthetic NO, window 0x3400001,
root 0x38, subw 0x0, time 636666629, (158,102), root:(832,903),
state 0x10, keycode 164 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes: ""
NoSymbolを返すすべてのキーコードを識別して記録した後
入力する
$ xmodmap -pke > xmodmap.conf
これにより、現在のキーマップがxmodmap.confに書き込まれます。
これでxmodmap.confを編集してXF86キーボードシンボルキーコードまで。
無料のXF86キーシムは、使用しない限り機能します。
keycode 164 = XF86Music
編集したxmodmap.confファイルを保存します。
Xが実行されるたびに自動起動するように追加します。
echo 'xmodmap xmodmap.conf' >> ~/.xinitrc
xmodmap xmodmap.conf
再起動を必要とせずに入力し、すぐにxmodmapを再ロードし、新しくマップされたキーボードキーを使用できます。