openSUSEa suomeksi

openSUSE => Turvallisuus ja laitteisto => Aiheen aloitti: SuperOscar - 03.09.2024 - klo:20:53

Otsikko: ”Roller mouse” ja hiiren liike näppäiltäessä [RATKAISTU]
Kirjoitti: SuperOscar - 03.09.2024 - klo:20:53
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:

Koodia: [Valitse]
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”?
Otsikko: Vs: ”Roller mouse” ja hiiren liike näppäiltäessä
Kirjoitti: SuperOscar - 04.09.2024 - klo:18:46
Ubuntu-foorumin ohjeen avulla löytyi ratkaisu. Kytkin Super+K-pikanäppäimen tämmöiseen häthätää kyhättyyn skriptiin:

Koodia: [Valitse]
#!/bin/sh

MOUSE="Ergoslider Mouse"
STATEFILE=/tmp/ergoslider
if [ ! -e $STATEFILE ]; then
    xinput --disable "$MOUSE"
    touch $STATEFILE
else
    xinput --enable "$MOUSE"
    rm $STATEFILE
fi

Tyhjä /tmp/ergoslider-tiedosto toimii siis vain tilan lippuna, koska en keksinyt, miten xinput osaisi lukea laitteen senhetkisen tilan.

MUOKS: Löysin keinon selvittää tila, vaikka se edellyttää greppaamista pitkästä listasta:

Koodia: [Valitse]
#!/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
Otsikko: Vs: ”Roller mouse” ja hiiren liike näppäiltäessä [RATKAISTU]
Kirjoitti: SuperOscar - 05.09.2024 - klo:17:02
Toistaiseksi lyhin versio:

Koodia: [Valitse]
#!/bin/sh

MOUSE="Ergoslider Mouse"
xinput list-props "$MOUSE" | grep -Eq "Device Enabled.+1\$" && xinput disable "$MOUSE" || xinput enable "$MOUSE"