내 노트북(Fedora 33 실행)에서 Bluetooth 키보드를 사용하고 있습니다. 매우 짜증나는 점은 F 키를 사용하려면 "Fn" 버튼을 눌러야 한다는 것입니다. 그렇지 않으면 F 키가 특수 기능에 매핑됩니다.
따라해보려고 해요이 게시물다시 매핑했지만 뭔가 빠진 것 같습니다.
예를 들어 F4 키를 눌러 를 실행하면 evtest
(Fn을 누르지 않으면 해당 키가 "복사"에 매핑됨) 다음과 같은 결과가 나타납니다.
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x4e8 product 0x7021 version 0x11b
Input device name: "SKBWHBT19 Keyboard"
Supported events:
<long list of events>
Event: time 1615808184.907556, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615808184.907556, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1615808184.907556, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70006
Event: time 1615808184.907556, type 1 (EV_KEY), code 46 (KEY_C), value 0
Event: time 1615808184.907556, -------------- SYN_REPORT ------------
따라서 F4는 Ctrl+C를 실행합니다. 버스 0005, 공급업체 04e8, 제품 7021에 대한 코드도 받았습니다.
F4로 어떻게 다시 매핑할 수 있나요?
/etc/udev/hwdb.d/bluetooth-keyboard.hwdb
다음 내용으로라는 파일을 만들었습니다.
evdev:input:b0005v04E8p7021
KEYBOARD_KEY_700e0=fn_f4
이어서
systemd-hwdb update
udevadm trigger
그러나 이것은 작동하지 않습니다. 스캔 코드 700e0과 70006 두 개를 어떻게 입력하는지 모르겠어요...
저도 비슷한거 해봤는데
KEYBOARD_KEY_70004=b
"a"를 "b"로 매핑해야 하지만 그것도 실패합니다.
편집: @meuh의 제안에 따라 hwdb 파일의 첫 번째 줄 끝에 *를 추가했는데 효과가 있었습니다! 그러나 조합이 아닌 개별 키만 다시 매핑할 수 있습니다. 즉, 스캔코드를 사용하면 700e0
왼쪽 컨트롤만 캡처되며, 이제 F4 키를 누르면 F4+C가 트리거되기 때문에 실제로 작동하지 않습니다. 또한 CTRL 키를 누르면 C가 실행됩니다.
특정 물리적 키를 재정의할 수 있는 방법이 있나요?