Portál AbcLinuxu, 11. května 2025 06:45
Koupil jsem si bezdrátovou optickou myš Microsoft Wireless Notebook Optical Mouse 4000 v1.0, které má dvě klasická tlačítka, kolečko, které funguje i jako tlačítko a ještě má to kolečko možnost vyklápění (doleva, doprava)a ještě na boku jedno malé tlačítko.
cat /proc/bus/input/devices
I: Bus=0003 Vendor=045e Product=00e1 Version=0007
N: Name="Microsoft Microsoft Wireless Optical MouseŽ 1.00"
P: Phys=usb-0000:00:1d.0-1/input0
S: Sysfs=/class/input/input2
H: Handlers=mouse1 event2
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=1c3
Pokud myš v xorg.conf nastavím klasicky jako ExplorerPS/2, ZAxisMapping "4 5", tak kolečko funguje dobře, boční tlačítko se hlásí jako Button 9.
Začal jsem zkoumat různé stránky, avšak pomocí těchto návodů se mi "Tilt" tlačítko nepovedlo rozchodit. Xev jej vůbec nedetekuje :(
V xorg.conf to mám zapsáno takto:
Section "InputDevice"
Identifier "Mouse1"
Driver "evdev"
Option "Device" "/dev/input/event2"
Option "Dev Phys" "usb-0000:00:1d.0-1/input0"
Option "Buttons" "9"
Option "ZAxisMapping" "4 5 6 7"
Option "Emulate3Buttons" "no"
EndSection
Po spuštění Xev mi detekuje kolečko jako 4 5, boční tlačítko jako 9. Po prohlídnutí xmodmap -pp jsem zjistil, že se to samo přemapovalo - a ještě to nějak záhadně detekuje 32 tlačítek:
There are 32 pointer buttons defined. Physical Button Button Code 1 1 2 3 3 2 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 184
imwheel "tilt" také nijak nedetekuje :(.
Pokud dám v konzoli cat /dev/input/event2 a vyklopím tlačítko, nějaký event to provede a zapíše se :/.
Používám distribuci Archlinux, Xorg7, evdev přímo v jádře, jádro 2.6.16.
Nenapadá někoho, jak by se tilt dal zprovoznit tak, aby jej Xev, či imwheel detekovalo? Děkuji
Dev phys
se AFAIK týká starého evdev, které bylo v Xorg 6.8 na Gentoo. Buttons
nebo ZAxisMapping
vůbec nepoužívám, všechna potřebná přemapování dělám přes vlastní nastavení Xmodmapu.
Také mi to detekuje 32 tlačítek...
Také mám možnost naklápět kolečko doprava/doleva, příkaz xev mi při stiskutí vypisuje události. Problém je, že aplikace toto nepodporují... takže toto se mi hodí tak maximálně v nějakých hrách.
Tak až napíšu dotaz, tak to nakonec najdu. Problém je v balíčku xf86-input-evdev - musel jsem provést patch a překopilovat jej. Nyní se mi tilt v xev zobrazuje jako Button 6 a 7. To by mě zajímalo, kam mi zmizel Button 8 :/
Zde je ten patch:
--- evdev.c +++ evdev.c @@ -155,6 +155,7 @@ PostButtonClicks(pInfo, wheel_down_button, -value); break; + case REL_DIAL: case REL_HWHEEL: if (value > 0) PostButtonClicks(pInfo, wheel_right_button, value);
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.