Strona 1 z 1

Przypisanie myszy do monitora

: 31 sty 2023, 16:36
autor: tuxcnc
Konfiguracja dość egzotyczna, ale nie pozbawiona sensu.
Są dwa monitory.
Jeden zwykły, 1920x1080.
Drugi dotykowy, 1024x768.
Do tego zwykła mysz (klawiatura z touchpadem, ale to bez znaczenia).
Monitory ustawione jako niezależne, każdy wyświetla swój obraz ze swoją rozdzielczością.
Mniejszy monitor jako główny, duży jako dodatkowy.
Do tego momentu wszystko udało mi się skonfigurować z menu Ustawienia->Ekran (Xfce4, ale to chyba też bez znaczenia).
No i tutaj trafiłem na przeszkodę, której nie potrafię usunąć i nawet nie wiem czy się da...
Otóż dotyk na mniejszym monitorze działa jak zwykła mysz i kursor jeździ po obu monitorach...
No na przykład dotykasz mniejszy ekran a kursor przeskakuje na większy...
Oczywiście w takiej sytuacji korzystanie z dotyku jest niemożliwe...

Czy jest możliwość przypisania danej myszy do danego ekranu?
Tutaj konkretnie tak, żeby zwykła mysz podróżowała po obu monitorach, ale dotyk nie wychodził poza swój monitor...

Re: Przypisanie myszy do monitora

: 05 lut 2023, 05:43
autor: mario_7
Wydaje się że możesz do ekranu dotykowego przypisać drugi wirtualny kursor: https://unix.stackexchange.com/question ... ate-inputs

Re: Przypisanie myszy do monitora

: 07 lut 2023, 12:49
autor: tuxcnc
mario_7 pisze: 05 lut 2023, 05:43 Wydaje się że możesz do ekranu dotykowego przypisać drugi wirtualny kursor: https://unix.stackexchange.com/question ... ate-inputs
Bingo!
Wielkie dzięki!

Co prawda sprawa jest nieco bardziej skomplikowana, ale osiągnąłem zadowalający efekt.
Samo dodanie nowego pointera daje nam tyle, że mamy dwa niezależne kursory myszy, ale nadal wędrujące po obu monitorach.
Aby ograniczyć obszar działania myszy należy go przeskalować i ewentualnie przesunąć, a tu wkracza nieco wyższa matematyka...
https://wiki.ubuntu.com/X/InputCoordinateTransformation
https://en.wikipedia.org/wiki/Transform ... matrix.svg
W moim przypadku wygląda to tak:

Kod: Zaznacz cały

apt update
apt install xinput
xinput create-master touchy
xinput
xinput reattach 10 16
xinput --list-props 10
xinput set-prop 10 'Coordinate Transformation Matrix' 0.345 0 0 0 0.72 0 0 0 1
Współczynniki 0.345 i 0.72 wzięły się stąd. że jeśli rozdzielczości monitorów zapiszemy jako H1xV1 i H2xV2, to mysz porusza się po ekranie o wymiarach (H1+H2)xV2 (ekrany obok siebie w poziomie), czyli 3004x1080, a trzeba przeskalować na 1024x768.
Pakiet xinput powinien już być w systemie, "touchy" to w sumie dowolna nazwa, a numery urządzeń takie jak xinput wyświetli.