Microsoft 키보드 미디어 키 문제

Microsoft 키보드 미디어 키 문제

Microsoft 올인원 무선 미디어 키보드(n9z-00001)가 있는데 현재 배포판인 Arch Linux에서 이상하게 작동합니다. ( Linux 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 x86_64 GNU/Linux)

$ lsusb | grep -i micro
Bus 001 Device 008: ID 045e:0800 Microsoft Corp. 

이것이 xinput이 생성하는 것입니다. 장치에는 두 개의 키보드가 있으며 그 중 하나에는 특수 키보드가 있습니다.(keys)

$  xinput list | grep -i micro
⎜   ↳ Microsoft Microsoft® Nano Transceiver v2.0    id=12   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v2.0    id=11   [slave  pointer  (2)]
    ↳ Microsoft Microsoft® Nano Transceiver v2.0 (keys) id=10   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v2.0    id=9    [slave  keyboard (3)]

나는 단지 열쇠 소리만 들을 수 있다 evtest. 같은 키보드인데도

$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  Lid Switch
/dev/input/event1:  Power Button
/dev/input/event2:  Video Bus
/dev/input/event3:  Video Bus
/dev/input/event4:  AT Translated Set 2 keyboard
/dev/input/event5:  Microsoft Microsoft® Nano Transceiver v2.0
/dev/input/event6:  Microsoft Microsoft® Nano Transceiver v2.0
/dev/input/event7:  Microsoft Microsoft® Nano Transceiver v2.0
/dev/input/event8:  ThinkPad Extra Buttons
/dev/input/event9:  HDA Digital PCBeep
/dev/input/event10: HDA Intel PCH Mic
/dev/input/event11: HDA Intel PCH Headphone
/dev/input/event12: HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event13: HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event14: HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event15: SynPS/2 Synaptics TouchPad
/dev/input/event16: Integrated Camera
/dev/input/event17: Logitech M705
/dev/input/event18: TPPS/2 IBM TrackPoint
/dev/input/event19: daskeyboard
/dev/input/event20: daskeyboard
Select the device event number [0-20]: 
  • 장치 ID 9 는 일부 미디어 키를 제외한 모든 일반 키를 갖는 xinput에 해당합니다 ./dev/input/event5
  • ID 10은 이에 해당하며 /dev/input/event7미디어 키 F1-F4와 볼륨 제어 및 기타 Microsoft 항목과 관련된 6개의 기타 키가 있습니다.
  • /dev/input/event6키보드의 터치패드에 해당하는 것 같아요 .

문제는 기능키에 있습니다. 있어야 할 위치에 있는 미디어 키는 " " 장치 F1-F5에 할당 되고 다른 장치에도 할당됩니다.(keys)F6-F12매번 Fn을 누를 필요가 없도록 미디어 키를 기능 키에 다시 매핑하고 싶습니다.

질문 1:미디어 키(입력 장치(10)를 통해 전송되는 키 (keys))는 등록되지 않습니다 xev. 그것들은 사용되고 showkey --scancodes출력을 생성 evtest하지만 X에 의해 선택되지 않습니다. 이 문제를 어떻게 해결하나요?

질문 2: 입력 장치를 통해 작동하는 미디어 키는 여러 스캔 코드를 전송하며 제가 아는 한 그림에 표시된 9다음 방법을 사용하여 여러 키를 다시 매핑할 수 있는 방법은 없습니다.hwdb여기. 아래는 미디어키에서 전송한 스캔코드입니다.F7

Event: time 1430059493.552417, -------------- EV_SYN ------------
Event: time 1430059493.560416, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1430059493.560416, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1430059493.560416, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1430059493.560416, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 0
Event: time 1430059493.560416, -------------- EV_SYN ------------

여러 스캔 코드를 단일 이벤트에 바인딩하는 방법을 모르겠습니다. 현재 X는 모든 개별 키를 감지하여 해당 이벤트에 매핑하고 있습니다. 예를 들어, 위의 출력을 기반으로 F7send 시 미디어 키가 있습니다 Ctrl+Alt+Scanner. Google 검색 결과가 나오지 않으면 어떻게 해야 합니까?

답변1

Fn키를 다시 매핑하는 대신 +를 눌러 F 버튼을 멀티미디어 버튼 대신 F 버튼에 고정할 수 있으며, CapsLock다시 누르면 그 반대의 경우도 마찬가지입니다.

답변2

xf86-input-joystick 패키지를 제거한 후 마침내 동일한 문제가 발생하여 문제가 해결되었습니다. https://forum.manjaro.org/t/microsof-all-in-one-keyboard-problem/15560

관련 정보