Portál AbcLinuxu, 12. května 2025 15:38
Dobrý den,
nedaří se rozběhat některá extra tlačítka na této klávesnici, některá "nefungují". Programem showkey
jsem v textovém režimu zjistil, že většina těchto kláves má přiřazen nějaký keycode. Zvláštní je, že některá negenerují scancode (zase zjištěno programem showkey), jako bych nic nezmáčkl. Takže nechápu tedy, jak jádro přiřadilo té určité klávese keycode.
Pokud se přesunu do Xorg a pustím program xev, tak některá extra tlačítka nemají vůbec přidělen keycode, natož keysym! Prostě jako bych nic nezmáčknul.
Už asi dvě hodiny hledám na Internetu řešení, zatím bezvýsledně. Říkám si ale, že když většina těchto extra kláves má v textovém režimu přidělen keycode, tak by to mělo fungovat i v Xorg, nebo ne?
Zkoušel jsem i přidat udev pravidlo, ale stejně to neběží:
# Konfigurace moji klavesnice (Logitech wave cordless) SUBSYSTEM=="hid", DRIVER=="logitech", RUN+="keymap $name logitech-wave-cordless"
Systém je Arch Linux pro x86_64. Klávesnice je součástí bezdrátového setu, "dongle" je připojen do USB 2.0 portu. Jádro: 2.6.36-ARCH. Xorg 1.9.3. Klávesnice (set) se hlásí jako Bus 006 Device 002: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Budu vděčný za každou radu!
Řešení dotazu:
Takže problém není jenom v Arch Linuxu, úplně stejně se to chová v Ubuntu.
Ale je divný, že když se přepnu do textového režimu a spustím program showkey a mačkám ony klávesy, tak to vypisuje např. keycode 425 u klávesy s obrázkem "a".
Jinak díky. Ale našel jsem na oficiálních stránkách Logitechu, že Linux is not supported. Takže vím, jaké značce se v budoucnu vyhýbat. Jinak klávesnici jsem "zdědil".
Další poznatek: /lib/udev/keymap /dev/input/event1 /lib/udev/keymaps/logitech-wave-cordless
vrátí:
EVIOCGKEYCODE: Invalid argument
Může to nějak souviset?
Našel jsem zajímavý projekt keyTouch, díky kterému bych měl tento problém vyřešit. Jdu na to!
Ať se třeba stavím na hlavu -- prostě nemůžu některá extra tlačítka zprovoznit! /etc/rc.d/keytouch
:
keytouch-init: Failed to set keycode: keycode 177 to scancode 106 (0x6a) keytouch-init: Failed to set keycode: keycode 178 to scancode 132 (0x84) keytouch-init: Failed to set keycode: keycode 214 to scancode 107 (0x6b) keytouch-init: Failed to set keycode: keycode 168 to scancode 130 (0x82) ...
Mám už toho dost!
Děkuju. S xmodmap se pokusím si pohrát. lineakd mi nejde zkompilovat, protože je něco špatně s autoconf:
... requires autoconf 2.53 or newer
Přitom mám verzi autoconf 2.68! (A nejsem sám, kterému se tato chyba stala.)
PKGBUILD k lineakd z AUR mi nefungoval (lineakd jinde než v AUR není), tak jsem si napsal vlastní PKGBUILD, ale ten bohužel skončí s tou chybou ohledně verze autoconf. xmodmap zkusím, ale je zarážející, že některé klávesy negenerují události v program xev.
Používám Arch Linux.
Pustil jsem xmodmap -pke > ~/tmp/xmodmap.conf
. Jedna extra klávesa měla v textové konzoli keycode 425 (v Xorg v programu xev však negeneruje žádnou událost), tak jsem zkusil do ~/tmp/xmodmap.conf přidat řádek:
keycode 425 = XF86Save
Nakonec jsem spustil: xmodmap ~/tmp/xmodmap.conf
Výsledek: vše při starém.
keycode 234=F13 keycode 233=F14 keycode 232=F15 keycode 231=F16 keycode 229=F17 keycode 230=F18 keycode 178=F19 keycode 144=F20 keycode 153=F21 keycode 164=F22 keycode 162=F23 keycode 174=F24 keycode 176=F25 keycode 160=F26 keycode 237=F27 keycode 235=F28 keycode 161=F29 keycode 223=F30 keycode 236=F31A keycode sem zjišťoval pomocí xev Jinak pokud je to programovatelná klávesnice, co takhle ji naprogramovat pod windows a pak zkusit zda negeneruje nějaké keycodes..
Jinak pokud je to programovatelná klávesnice, co takhle ji naprogramovat pod windows a pak zkusit zda negeneruje nějaké keycodes..
Super! Hned to jdu zkusit.
Bohužel toto nepomohlo.
Jinak koukám na to, že ve výpisu je tento dotaz označen jako vyřešený. Přitom není a není odkaz na konkrétní řešení.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.