Redragon Asura USBキーボードは、すべてのCtrl、Alt、WinキーをShift_Lにマップします。

Redragon Asura USBキーボードは、すべてのCtrl、Alt、WinキーをShift_Lにマップします。

状態:この問題はカーネル4.18から修正されました。詳しくは、許可された回答をご覧ください。

今すぐ使い始めました。レッドドラゴン阿修羅USBキーボード。キーボードはうまく機能しますが、残念ながらCtrl、Alt、Winの両方が左のShiftキーにマップされているため、使いにくいです。

dmesg出力は

[185765.848957] input: USB Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:0C45:760B.0022/input/input50
[185765.905395] hid-generic 0003:0C45:760B.0022: input,hidraw3: USB HID v1.11 Keyboard [USB Keyboard] on usb-0000:00:14.0-3/input0
[185765.949342] input: USB Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:0C45:760B.0023/input/input51
[185766.009474] hid-generic 0003:0C45:760B.0023: input,hiddev0,hidraw4: USB HID v1.11 Keyboard [USB Keyboard] on usb-0000:00:14.0-3/input1

デバッグキーの使用を開始しました。シフそして、このキーに対してまったく同じキーマップを取得します。 KeyPressとKeyReleaseイベントが混在している可能性がありますが、全体的には同じです(投稿の終わりを参照)。

Ctrl、Alt、およびWinキーを正しくマッピングするにはどうすればよいですか?

左の選択肢:

KeyRelease event, serial 36, synthetic NO, window 0x3200001,
    root 0xd7, subw 0x0, time 185237066, (307,429), root:(2272,538),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

左Ctrl:

KeyPress event, serial 36, synthetic NO, window 0x3200001,
    root 0xd7, subw 0x0, time 185265721, (443,237), root:(2408,346),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

左に移動:

KeyRelease event, serial 36, synthetic NO, window 0x3200001,
    root 0xd7, subw 0x0, time 185303441, (436,539), root:(2401,648),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

勝利の鍵:

KeyPress event, serial 36, synthetic NO, window 0x3200001,
    root 0xd7, subw 0x0, time 185327465, (399,367), root:(2364,476),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

右Alt:

KeyPress event, serial 36, synthetic NO, window 0x3200001,
root 0xd7, subw 0x0, time 185361768, (348,141), root:(2313,250),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

右クリック:

KeyPress event, serial 36, synthetic NO, window 0x3200001,
    root 0xd7, subw 0x0, time 185401328, (598,415), root:(2563,524),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

編集する:実際には、キーボードは2つのUSBデバイスとして表示されます。 /sys/debug/kernel/hidからHID記述子をアップロードしました。

ベストアンサー1

私のものLinuxカーネルパッチでRedragon Asuraキーボードを修正するこれは主流で、カーネルバージョン4.18の一部になります。

Num Lock LEDとCaps Lock LEDがアクティブにならないという小さな問題があります(キーは正しく機能します)。この問題は4.19で修正される予定です。

このパッチは4.16と4.17にも適用でき、openSUSEは4.16からパッチを提供します。

おすすめ記事