Kirjoittaja Aihe: ”Roller mouse” ja hiiren liike näppäiltäessä [RATKAISTU]  (Luettu 1149 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 945
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Sain taannoin kohtuuhinnalla ErgoSlider Plus -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”?
« Viimeksi muokattu: 04.09.2024 - klo:18:47 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 945
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: ”Roller mouse” ja hiiren liike näppäiltäessä
« Vastaus #1 : 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
« Viimeksi muokattu: 04.09.2024 - klo:20:09 kirjoittanut SuperOscar »
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 945
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
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"
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11