xkb 옵션 숫자 패드(mac)가 활성화된 경우 Chrome은 숫자 패드 키를 어떻게 화살표 키로 처리합니까?

xkb 옵션 숫자 패드(mac)가 활성화된 경우 Chrome은 숫자 패드 키를 어떻게 화살표 키로 처리합니까?

Num Lock 키를 메타키로 사용하고 숫자 키패드 키를 영구적으로 설정했습니다(Num Lock이 항상 활성화된 것처럼). 많은 데스크톱 애플리케이션( konsoleAtom Editor, LibreOffice) 및 로그인 화면에서도 이러한 키를 숫자 키로 취급하지만 Chrome에서는 분명히 화살표 키로 인식하므로 Chrome(버전 86.0)을 사용할 때는 숫자 패드를 사용할 수 없습니다.

다음은 전체 xkbmap 및 OS 버전(OpenSuSE Leap 15.1)입니다.

╭─jacek@epica ~  
╰─➤  setxkbmap -verbose 10        
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc102
layout:     de
variant:    pl
options:    terminate:ctrl_alt_bksp,compose:sclk,altwin:meta_win,lv3:ralt_switch,numpad:mac
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwertz)
types:      complete+numpad(mac)
compat:     complete
symbols:    pc+de(pl)+inet(evdev)+terminate(ctrl_alt_bksp)+altwin(meta_win)+level3(ralt_switch)+compose(sclk)+terminate(ctrl_alt_bksp)
geometry:   pc(pc102)

╭─jacek@epica ~  
╰─➤  uname -a
Linux epica 4.12.14-lp151.28.71-default #1 SMP Thu Oct 8 12:40:48 UTC 2020 (dda1832) x86_64 x86_64 x86_64 GNU/Linux

xev숫자 키패드 키를 올바르게 처리하는 것 같습니다.

KeyPress event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5259457, (-134,654), root:(702,683),
    state 0x0, keycode 90 (keysym 0xffb0, KP_0), same_screen YES,
    XLookupString gives 1 bytes: (30) "0"
    XmbLookupString gives 1 bytes: (30) "0"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5259617, (-134,654), root:(702,683),
    state 0x0, keycode 90 (keysym 0xffb0, KP_0), same_screen YES,
    XLookupString gives 1 bytes: (30) "0"
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5260449, (-134,654), root:(702,683),
    state 0x0, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XmbLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5260594, (-134,654), root:(702,683),
    state 0x0, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5260922, (-134,654), root:(702,683),
    state 0x0, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
    XLookupString gives 1 bytes: (32) "2"
    XmbLookupString gives 1 bytes: (32) "2"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5261058, (-134,654), root:(702,683),
    state 0x0, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
    XLookupString gives 1 bytes: (32) "2"
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5261497, (-134,654), root:(702,683),
    state 0x0, keycode 89 (keysym 0xffb3, KP_3), same_screen YES,
    XLookupString gives 1 bytes: (33) "3"
    XmbLookupString gives 1 bytes: (33) "3"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x7800001,
    root 0x561, subw 0x0, time 5261658, (-134,654), root:(702,683),
    state 0x0, keycode 89 (keysym 0xffb3, KP_3), same_screen YES,
    XLookupString gives 1 bytes: (33) "3"
    XFilterEvent returns: False

그렇다면 Chrome은 왜 구성 numpad (mac)설정을 무시합니까 xkb?

답변1

좋습니다. Chrome에 대한 작은 업데이트를 받은 후 이제 키패드가 브라우저에서 작동합니다. Unix용 Chrome의 가능한 종속성에 대한 힌트를 유지하세요.스캔 코드나는 X.org 키코드(개념적 결함?) 외에 이 문제에 대한 어떤 정보도 직접 찾지 못했습니다.

관련 정보