私はアーチLinuxを使用しています。 X11の一般的なDELL 101キーUSBキーボードでは、特定のキーの組み合わせが機能しますが、メカニカルゲームキーボードでは機能しない理由を理解しようとしました。私は2つのキーボード(ttesportsとCorsair K60)を持っていますが、すべてX11で同じように動作しません。 ++ Ctrl、++、およびCapsLock LEDを除いてすべて機能します。AltFnCtrlAltBackspace
キーボードは設定ファイルの次のセクションで設定されます。
Section "InputClass"
Identifier "system-keyboard"
Driver "evdev"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:lalt_lshift_toggle,terminate:ctrl_alt_bksp"
EndSection
診断のために、DELLとttesportsキーボードの両方を接続しました。Ctrl++をクリックしたAltときの違いが何であるかを確認したいと思いますF2。xev
どのイベントが生成されたかを追跡するために使用します。Ctrl++を押すと、両方のキーボードが同じ出力(シリアルを除く)を生成しますが、DELLキーボードのみがVT2に切り替わり、ttesportsは画面を変更せずに保持しますAlt。F2出力は次のとおりです
KeyRelease event, serial 36, synthetic NO, window 0x2000001,
root 0x287, subw 0x0, time 74514015, (2239,-23), root:(2385,850),
state 0xc, keycode 68 (keysym 0x1008fe02, XF86Switch_VT_2), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
私が知っている限り、両方のキーボードはコンソールモード(X11ではない)で同じように動作します。つまり、すべてのショートカットが私が知っている限りうまく機能するということです。
あるキーボードはVTを切り替え、他のキーボードは切り替えない理由をどのように追跡できますか?
編集する:また、CapsLockの動作を追跡してみました。showkey
コンソールでコマンドを使用します。両方のキーボードのいずれかでCapsLockボタンを使用すると、キーを押すと放すとキーコード58が表示されます。しかし:
- CapsLockCapsLockの状態を切り替えるには、任意のキーボードを押します。
- DELLキーボードを押すと、CapsLockDELLキーボードのCalsLock LEDのみが切り替わります。
- ttesports キーボードを押すとCapsLock実際の CapsLock 状態が切り替わりますが、CapsLock LED は両方のキーボードで切り替わりません。
- CapsLockDellキーボードのCapsLock LEDが点灯しているときは、キーボードを押すと消えませんが、実際のCapsLockステータスは消えます。