Portál AbcLinuxu, 10. května 2025 22:13
Zdravím.
NB Dell Latitude CPi A, snažím se rozchodit klávesy na regulaci hlasitosti. Zesilování je na Fn+PageUp, zeslabování Fn+PageDown a mute Fn+End.
Našel jsem tady pár diskuzí a dokonce FAQ na tohle téma, ale všechno začínalo zjišťováním kódu klávesy, buď pomocí xev, nebo showkey -s. Při stisku těchto kláves se ale neobjeví nic ani v jendom z těch prográmků.
Nic není ani v DMESGu a v /var/log/acpid.
Netušíte, co s tím ?
Z.H.
event=hotkey ATKD .* action=/etc/acpi/actions/hotkey.sh %e/etc/acpi/actions/hotkey.sh
#!/bin/bash case "$3" in # Mute button 00000032) amixer sset Front,0 toggle amixer sset Surround,0 toggle amixer sset Center,0 toggle amixer sset LFE,0 toggle ;; # Volume up button 00000030) amixer sset PCM,0 15+ ;; # Volume down button 00000031) amixer sset PCM,0 15- ;; # powersave button 0000005c) /usr/local/bin/powersavetoggle ;; *) logger "ACPI hotkey $3 is not defined" ;; esac
No to sem si taky myslel. Ale ve /var/log/acpid není o stisku těch kláves ani písmenko. Přitom pokud připojím/odpojím zdroj, nebo zavřu/otevřu NB, tak to tam je. Stejne jako klávesa 'Suspend' (Fn+Esc) a 'Power'. Jenom ty potvory na hlasitost nic...
Z.H.
To me taky napadlo, ale nepovedlo se mi najit nejakou zminku o takovych modulech a ani pri kompilaci jadra jsem na nic v make menuconfig nenarazil...
Z.H.
Můžete mi prosím trochu upřesnit jak ?
Zkoušel jsem o tom něco hledat a objevil jsem jenom to, že musím mít driver nvram, který jsem zkompiloval a modprobnul. Pak jsem se snažil číst ze zařízení: cat /dev/nvram, ale byla to jen změť znaků...
Z.H.
watch --differences=cumulative -n 0 xxd /dev/nvram
A potom pozorovat, jak se projevuje mackani tlacitek. Ja takhle upravoval program tpb, aby fungoval na mem notebooku.
xxd nemám. Dělal jsem to takto:
cat /dev/nvram > nvr1
Ted jsem stiskl "MUTE".
cat /dev/nvram > nvr2
diff nvr1 nvr2
Poslední příkaz nic nevypsal. Znamená to, že ty tlačítka do nvram nezapisují, nebo jsem udělal někde chybu ?
Z.H.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.