Atualmente estou tendo problemas com as teclas de função do meu MSI Creator 17 B11UG. As coisas ficaram cada vez piores a cada atualização do Ubuntu (atualmente 23.04) e tenho um interesse particular em fazer a webcam funcionar novamente, já que aparentemente ela ficou presa no "estado de hardware desabilitado". Algumas teclas de função funcionam (mudo, aumentar/diminuir volume, luz do teclado), algumas pararam de funcionar após a atualização, algumas registram erros no dmesg e algumas funcionam, mas não são registradas no showkey -k
. A tabela detalhada com a descrição de como as teclas de função se comportam atualmente:
Tabela de descrição de problemas das teclas Fn
Atualização:Inicialmente criei uma tabela de descontos, que parecia muito boa na visualização, mas ficou confusa por algum motivo quando postei, então criei uma imagem.
showkey -k
detecta absolutamente os mesmos códigos se as teclas de função forem pressionadas sozinhas ou junto com a tecla Fn. Também verifiquei as configurações do BIOS e não há nenhuma configuração que altere a forma como as teclas Fn funcionam.
sudo udevadm info /dev/input/by-path/platform-i8042-serio-0-event-kbd
me dá esta saída:
P: /devices/platform/i8042/serio0/input/input3/event3
M: event3
R: 3
U: input
D: c 13:67
N: input/event3
L: 0
S: input/by-path/platform-i8042-serio-0-event-kbd
E: DEVPATH=/devices/platform/i8042/serio0/input/input3/event3
E: DEVNAME=/dev/input/event3
E: MAJOR=13
E: MINOR=67
E: SUBSYSTEM=input
E: USEC_INITIALIZED=5374008
E: KEYBOARD_KEY_a0=mute
E: KEYBOARD_KEY_ae=volumedown
E: KEYBOARD_KEY_b0=volumeup
E: KEYBOARD_KEY_b2=www
E: KEYBOARD_KEY_c2=ejectcd
E: KEYBOARD_KEY_df=sleep
E: KEYBOARD_KEY_e2=bluetooth
E: KEYBOARD_KEY_e4=f21
E: KEYBOARD_KEY_ec=email
E: KEYBOARD_KEY_ee=camera
E: KEYBOARD_KEY_f6=wlan
E: KEYBOARD_KEY_f7=brightnessdown
E: KEYBOARD_KEY_f8=brightnessup
E: KEYBOARD_KEY_f9=search
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_BUS=i8042
E: ID_SERIAL=noserial
E: ID_PATH=platform-i8042-serio-0
E: ID_PATH_TAG=platform-i8042-serio-0
E: XKBMODEL=pc105
E: XKBLAYOUT=us,ru
E: XKBVARIANT=,
E: XKBOPTIONS=grp:alt_shift_toggle,lv3:ralt_alt,compose:caps,terminate:ctrl_alt_bksp,grp_led:scroll
E: BACKSPACE=guess
E: LIBINPUT_DEVICE_GROUP=11/1/1:isa0060/serio0
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-0-event-kbd
E: TAGS=:power-switch:
E: CURRENT_TAGS=:power-switch:
Todos os meios de diagnóstico (veja a tabela acima) aparentemente me dão resultados contraditórios, por exemplo, F8 funciona e altera as luzes do teclado, mas showkey
não registra nada e dmesg
registra um erro, algumas teclas geram Unknown event received
, algumas Unknown key pressed
, algumas ambas.
udevadm info
aparentemente aponta para o fato de que o teclado foi identificado incorretamente (como a saída contém, E: KEYBOARD_KEY_f9=search
por exemplo, e eu não tenho essa chave), então tentei mexer em /lib/udev/hwdb.d
:
Eu editei /lib/udev/hwdb.d/90-keyboard-ubuntu.hwdb
:
# Dell G16 microphone mute
evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnDellG16*:*
KEYBOARD_KEY_100150=f20
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*pnCreator17B11UG*:*
KEYBOARD_KEY_ee=camera # Fn+F6 camera disable
Ou seja, adicionei as duas últimas linhas, todo o resto estava lá antes. Então apliquei as alterações: systemd-hwdb update
e udevadm trigger --verbose --sysname-match="event*"
. Depois disso, nada aparentemente mudou no comportamento da tecla F6. Eu também tentei algumas outras coisas aleatórias, como mudar camera
para !camera
ou outras chaves hexadecimais em vez de KEYBOARD_KEY_ee
, mas aparentemente não mudou nada.
Como nem showkey -k
me dmesg
deu nenhuma indicação sobre qual era o valor hexadecimal real da tecla F6, tentei sudo evtest
:
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Sleep Button
/dev/input/event10: HDA NVidia HDMI/DP,pcm=7
/dev/input/event11: HDA NVidia HDMI/DP,pcm=8
/dev/input/event12: HDA NVidia HDMI/DP,pcm=9
/dev/input/event13: Video Bus
/dev/input/event14: Video Bus
/dev/input/event15: sof-hda-dsp Mic
/dev/input/event16: sof-hda-dsp Headphone
/dev/input/event17: sof-hda-dsp HDMI/DP,pcm=3
/dev/input/event18: sof-hda-dsp HDMI/DP,pcm=4
/dev/input/event19: sof-hda-dsp HDMI/DP,pcm=5
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: SynPS/2 Synaptics TouchPad
/dev/input/event5: FX-2
/dev/input/event6: FX-2 Keyboard
/dev/input/event7: MSI WMI hotkeys
/dev/input/event8: gpio-keys
/dev/input/event9: HDA NVidia HDMI/DP,pcm=3
Select the device event number [0-19]: 7
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "MSI WMI hotkeys"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 113 (KEY_MUTE)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 148 (KEY_PROG1)
Event code 149 (KEY_PROG2)
Event code 224 (KEY_BRIGHTNESSDOWN)
Event code 225 (KEY_BRIGHTNESSUP)
Event code 240 (KEY_UNKNOWN)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
^C
Ele reconheceu /dev/input/event7: MSI WMI hotkeys
, mas após testes reais, quando pressionei em sequência todas as teclas de função (com ou sem a tecla Fn), não produziu nenhuma saída. Porém, funciona com o teclado normal.
Eu apreciaria muito qualquer conselho sobre como investigar mais detalhadamente ou até mesmo como corrigir o problema. Como solução alternativa, também estarei interessado em suas sugestões sobre como posso ativar minha webcam alternadamente (ou seja, imitar pressionar Fn + F6 de alguma outra forma ou talvez algo nesse sentido).
Responder1
Estou no Creator 17 2020. Ubuntu 22.04:
Quando executo o sudo evtest
comando, no meu MSI, descobri que
event7: Teclas de atalho MSI WMI - não mostrarão códigos de acesso
event4: O teclado AT Translated Set 2 resolverá o problema - mostrará os códigos-chave