Logitech MX-510: Niektóre dodatkowe przyciski nie nadają się do użytku

9

Mam Logitech MX-510, z którego korzystam od około sześciu lat.

Logitech MX-510

Mysz ma kilka dodatkowych przycisków, których chciałbym użyć w Gnome, ale mam problemy z kodami przycisków, które mysz wysyła do sterownika:

  • Przycisk 1 (przycisk kółka myszy) działa zgodnie z oczekiwaniami. Jedno ButtonPresswydarzenie z prasą state 0x10i button 1przy prasie oraz ButtonReleaseprzy state 0x110wydaniu.

  • Przycisk 2 (przycisk kółka myszy) działa zgodnie z oczekiwaniami. Jedno ButtonPresswydarzenie z prasą state 0x10i button 2przy prasie oraz ButtonReleaseprzy state 0x210wydaniu.

  • Przycisk 3 (prawy przycisk) działa zgodnie z oczekiwaniami. Jedno ButtonPresswydarzenie z prasą state 0x10i button 3przy prasie oraz ButtonReleaseprzy state 0x410wydaniu.

  • Przycisk 4 (przewijanie w górę) działa zgodnie z oczekiwaniami. Wysyła ButtonPresszdarzenie za pomocą state 0x10i button 4oraz ButtonReleasezdarzenie za pomocą state 0x810. Oba zdarzenia występują natychmiastowo na każdym kroku przewijania.

  • Przycisk 5 (przewiń w dół) działa zgodnie z oczekiwaniami. Wysyła ButtonPresszdarzenie za pomocą state 0x10i button 5oraz ButtonReleasezdarzenie za pomocą state 0x1010. Oba zdarzenia występują natychmiastowo na każdym kroku przewijania.

Przyciski 6 i 7 wydają się nie istnieć.

  • Przycisk 8 (przycisk Wstecz) działa zgodnie z oczekiwaniami. Wysyła ButtonPresszdarzenie z state 0x10i button 8, a także ButtonReleasezdarzenie z state 0x10. Oba zdarzenia występują natychmiastowo na każdym kroku przewijania.

  • Przycisk 9 (przycisk Wstecz) działa zgodnie z oczekiwaniami. Wysyła ButtonPresszdarzenie z state 0x10i button 9, a także ButtonReleasezdarzenie z state 0x10. Oba zdarzenia występują natychmiastowo na każdym kroku przewijania.

Mysz ma trzy dodatkowe przyciski, jak widać na powyższym obrazku.

  • Przycisk 10 (na samej górze myszy) nie jest użyteczny. Wysyła ButtonPresszdarzenie z state 0x10i button 10, a także ButtonReleasezdarzenie z state 0x10. Przycisk nie działa w Gnome, ponieważ nie można go wybrać. Większość selektorów opcji, takich jak ten w Menedżerze ustawień CompizConfig, przechodzi do przycisku 9.

  • Przycisk 11 (dodatkowy przycisk z przodu kółka myszy) nie jest całkiem użyteczny. Po naciśnięciu wysyła ButtonPresswydarzenie state 0x10i button 11, i kolejna ButtonPressimpreza z state 0x10a button 4 i jeszcze jeden ButtonPresswydarzenie state 0x810i button 4(ostatnie dwa są takie same, jak gdyby zachowanie kółkiem został przesunięty o jeden krok w górę). Po zwolnieniu wysyła ButtonReleasezdarzenie za pomocą state 0x10i button 11. Ale haczyk polega na tym, że przytrzymanie przycisku powoduje powtórzenie „symulacji kółka myszy” około pięć razy na sekundę. (jak tempomat kółkiem myszy lub coś takiego).

  • Przycisk 12 (dodatkowy przycisk z tyłu kółka myszy) nie jest całkiem użyteczny. Po naciśnięciu wysyła ButtonPresswydarzenie state 0x10i button 12, i kolejna ButtonPressimpreza z state 0x10a button 5 i jeszcze jeden ButtonPresswydarzenie state 0x1010i button 5(ostatnie dwa są takie same, jak gdyby zachowanie kółkiem został przesunięty o jeden krok w górę). Po zwolnieniu wysyła ButtonReleasezdarzenie za pomocą state 0x10i button 12. Po przytrzymaniu wyświetla to samo zachowanie tempomatu co przycisk 11, ale z odpowiednimi parametrami przycisku i stanu.

Czy istnieje sposób, w jaki sposób mogę odwzorować te dodatkowe klucze w taki sposób, że mogę ich użyć lub sprawić, by były użyteczne w Gnome? A zwłaszcza, jeśli jest to możliwe, aby przyciski 11 i 12 przestały wysyłać kody kółka myszy w górę iw dół. A jeśli to możliwe, w jaki sposób mogę ogólnie zmienić ogólne zachowanie przycisków myszy?

polemon
źródło
Właśnie uruchomiłem system Windows, zainstalowałem sterowniki Logitech i próbowałem ustawić te dwa przyciski na coś innego, co nie wymaga powtarzalnego „automatycznego odpalania”. Ale to nie pomogło. Wszystkie numery stanu uległy jednak zmianie.
polemon

Odpowiedzi:

2

Musisz użyć lomoco, aby wprowadzić trwałe zmiany (takie jak zatrzymanie wysyłania zdarzeń 11 i 12 przez kółka przewijania). Być może będziesz musiał uruchomić lomoco podczas uruchamiania, aby zachować zmiany. Zrobiłem to z moim MX1000.

Możesz użyć xmodmap do mapowania przycisków, jeśli chcesz przypisać przyciski 6 i 7 (które normalnie są traktowane jako przewijanie w poziomie pod X.)

Malvineous
źródło
Problem polega na tym, że Lomoco się nie kompiluje, ponieważ Linux nie obsługuje STREAMS (stropts.h)
polemon
@polemon: Kompiluje się dobrze dla mnie - czy używasz linku „pobierz wersję 1.0” ze strony głównej ?
Malvineous
@Malvineous: tak
polemon
@polemon: Wygląda na to, że brakuje Ci plików nagłówkowych, a może Twoja dystrybucja zawiera pakiety -dev, które musisz zainstalować, aby móc je skompilować? Próbowałem tego pod Gentoo bez żadnych problemów. Może twoja dystrybucja ma już dla niej pakiet.
Malvineous,
Sprawdziłem je wszystkie. Są one dostępne tylko do celów kompilacji krzyżowej. Standardowe nagłówki Linuksa już ich nie zawierają. Dość nowa dystrybucja nie ma ich w repozytoriach ani nigdzie. Wersja 1.0 jest po prostu za stara. :(
polemon,
1

(Sam mam Mx518 i robię pewne założenia dotyczące 500 w oparciu o mój 518).

Dwa przyciski bezpośrednio do przodu i za kierownicą służą do sterowania DPI myszy. Ponieważ wydaje się, że dzieje się to w samym sprzęcie, nie wiem, czy wskazane jest użycie ich do czegokolwiek innego.

Możesz użyć lmctl do skonfigurowania najwyższego przycisku lub przycisków flankowania koła. Jest inny program o nazwie, logitech_appletale nigdy go nie użyłem

Andrew Lambert
źródło
1
MX510 nie miał regulowanej rozdzielczości. Te dwa przyciski, o których mówisz, miały zupełnie inną funkcję w MX-510 (znam obie myszy, MX-510 i MX-518).
polemon
Widzę. Cóż, jeden z dwóch programów, o których wspomniałem, może być w stanie je zmapować.
Andrew Lambert,
IMCC już dawno nie żyje. Kolejny projekt, [lomoco], wydaje się w pewnym momencie nieobsługiwany, ale wciąż rozwija się. Wydaje mi się jednak, że nie jestem w stanie zbudować sklonowanego repozytorium kompilacji. Wersja jest tak stara, że ​​się nie skompiluje.
polemon
@polemon: Upewnij się, że używasz oryginalnego lomoco, a nie przepisywania, które obecnie się nie kompiluje. Nie sądzę, żeby oryginalne Lomoco było pod kontrolą wersji.
Malvineous