Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Laitealue => Aiheen aloitti: SuperOscar - 03.09.24 - klo:20.55
-
Sain taannoin kohtuuhinnalla ErgoSlider Plus (https://www.verkkokauppa.com/fi/product/126109/Ergoslider-Plus-hiiriohjain-musta) -merkkisen ”palikkahiiren” (en tosin Verkkokaupasta, minne linkki vie; tuolla oli vain sopivasti kuva).
Laite toimii muuten mukavasti, mutta ongelmana on hiiriosoittimen jatkuva liike kirjoittaessani: peukaloni valahtavat juuri sen verran alas, että osuvat hiirtä liikuttavaan palikkaan.
Laitteella ei ole omaa ajuria eikä siksi myöskään mitään säätöjä. Harvinaisuutensa takia tällaisille laitteille ei ole mitään yleistä tukea Linuxin graafisissa käyttöympäristöissä. Laite kuitenkin käyttää tuiki tavallista libinput-ajuria, kuten tästä näkyy:
tn@kant% grep "input driver" /var/log/Xorg.0.log
…
[ 17.955] (II) Using input driver 'libinput' for 'Ergoslider Mouse'
…
[ 18.003] (II) Using input driver 'libinput' for 'Ergoslider System Control'
[ 18.029] (II) Using input driver 'libinput' for 'Ergoslider Keypad'
[ 18.065] (II) Using input driver 'libinput' for 'Ergoslider Consumer Control'
(poistin epäolennaisuuksia).
Keksisikö joku keinon, millä voisin jollakin tavoin komentaa hiiren ohjelmallisesti pysymään paikallaan? Sen voisi sitten vaikka kytkeä pikanäppäimeen. Ikään kuin ”hiiri seis” / ”hiiri liikkeelle”?
-
Ainakin tasohiirille noita ohjeita on eli yrittäisin hakea sellaisia. Archin wiki ainakin neuvoo käyttämään xinput-komentoa, jonka voi sitten yhdistää pikanäppäimeen (xinput disable ja xinput enable komennot siis omiin näppäimiinsä tai skriptillä samaan). https://wiki.archlinux.org/title/Libinput#Using_xinput
Tasohiirille yleensä käytössä on myös käytöstä poisto kirjoittaessa, mutta en tiedä osaako libinput tehdä niin mielivaltaiselle osoitinlaitteelle. Voisi ainakin koittaa tehdä tätä hiirtä vastaavan osion X:n asetustiedostoon ja laittaa tuon DisableWhileTyping arvoon 1. https://wiki.archlinux.org/title/Libinput#Enable_the_touchpad_while_typing
-
Ainakin tasohiirille noita ohjeita on eli yrittäisin hakea sellaisia. Archin wiki ainakin neuvoo käyttämään xinput-komentoa, jonka voi sitten yhdistää pikanäppäimeen (xinput disable ja xinput enable komennot siis omiin näppäimiinsä tai skriptillä samaan).
Ainakin tähän asti toimii! Komento
xinput disable "Ergoslider Mouse"
poistaa hiiren onnistuneesti käytöstä ja enable-vaihtoehto palauttaa sen käyttöön. Kokeilen ensin tätä vaihtoehtoa.
-
Tuonnempana voin kokeilla vielä hienostuneempia ratkaisuja, mutta nyt kytkin Super+K-pikanäppäimen tällaiseen skriptiin:
#!/bin/sh
MOUSE="Ergoslider Mouse"
STATEFILE=/tmp/ergoslider
if [ ! -e $STATEFILE ]; then
xinput --disable "$MOUSE"
touch $STATEFILE
else
xinput --enable "$MOUSE"
rm $STATEFILE
fi
Tuossa siis käytetään /tmp-kansioon sijoitettua tyhjää tiedostoa lippuna, koska en keksinyt tapaa ottaa xinput-komennolla selville laitteen senhetkistä tilaa.
Muoks: tila löytyykin komennolla --list-props, jota pitää grepata.
#!/bin/sh
MOUSE="Ergoslider Mouse"
if xinput --list-props "$MOUSE" | grep "Device Enabled" | grep -q '1$'; then
xinput --disable "$MOUSE"
else
xinput --enable "$MOUSE"
fi