한 번의 키를 누르면 더 많은 키 코드가 생성될 수 있습니다.

한 번의 키를 누르면 더 많은 키 코드가 생성될 수 있습니다.

구형 노트북(acer aspiretimeline X 5820)(debian 9 및 linux mint 18에서 테스트)에 Linux를 설치했는데 키보드에 문제가 있습니다.

화살표에는 볼륨 및 디스플레이 밝기를 제어할 수 있는 기능이 있습니다(fn 키를 누르면 활성화됨). 그 중 세 개는 제대로 작동하지만 마지막 것(밝기가 감소됨)은 작동하지 않습니다.열쇠로(fn이 있는 화살표)누르면 밝기 감소가 초기화되고 외부 모니터로 변경됩니다..

출력은 xev다음과 같습니다(fn을 누른 상태에서 화살표 누르기).

MappingNotify event, serial 40, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 40, synthetic NO, window 0x7200001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 41, synthetic NO, window 0x7200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 41, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   8   0   0   

KeyRelease event, serial 41, synthetic NO, window 0x7200001,
    root 0xb0, subw 0x0, time 5319155, (1023,637), root:(1023,666),
    state 0x10, keycode 235 (keysym 0x1008ff59, XF86Display), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

MappingNotify event, serial 41, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 41, synthetic NO, window 0x7200001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 42, synthetic NO, window 0x7200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 42, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   1   0   0   

KeyRelease event, serial 42, synthetic NO, window 0x7200001,
    root 0xb0, subw 0x0, time 5319238, (1023,637), root:(1023,666),
    state 0x10, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

출력은 showkey다음과 같습니다

keycode 227 press
keycode 227 release
keycode 224 press
keycode 224 release

키보드도 있어요특수 키(F5 및 fn)은 사용할 디스플레이를 변경하는 데 사용됩니다.출력 없음여기도 xev여기도 아닙니다 showkey.

밝기를 낮추고 디스플레이 효과를 변경할 수 있지만 동시에만 가능합니다. 두 Linux 모두에서 동일하게 "작동"합니다. Windows에서는 문제가 없으므로 하드웨어 문제는 아닙니다.

코드를 이전하는 것이 가능합니까(그리고 어떻게)? keycode 235 (keysym 0x1008ff59, XF86Display)올바른 키로?

답변1

노트북은 제조업체마다 작업 방식이 다르고 제조업체에는 문서도 없고 Windows 드라이버만 있기 때문에 항상 까다롭습니다.

설명에 따르면 현재 모드에서임베디드 컨트롤러(EC)예, Fn + 밝기 감소에 대해서는 잘못된 시퀀스만 생성하고 Fn + F5에 대해서는 시퀀스나 다른 유형의 이벤트를 생성하지 않습니다.

다양한 효과를 얻기 위해 EC를 다시 프로그래밍하는 방법에 대한 문서가 없기 때문에 제가 생각할 수 있는 가장 좋은 해결책은 XF86Display를 xmodmap무시되고 디스플레이를 변경하지 않는 다른 항목에 매핑하는 것입니다(등을 통해). 이렇게 하면 추가 기호가 생성되더라도 밝기 낮추기 키가 제대로 작동합니다.

Fn + F5에 대해 생성된 다른 이벤트를 찾을 수 있는 경우(예를 들어 를 사용하여 acpi_listen) 해당 이벤트에 반응할 사용자 정의 항목을 추가할 수 있습니다. 이벤트가 발견되지 않으면 키 기호를 다른 키 조합(Fn 제외)에 매핑하거나 키가 누락되었다는 사실을 받아들여야 합니다.

관련 정보