Legen Sie für jedes Gerät unterschiedliche Scrollrichtungen fest Ubuntu 18.04 Gnome

Legen Sie für jedes Gerät unterschiedliche Scrollrichtungen fest Ubuntu 18.04 Gnome

Ich verwende eine Maus-Tastatur-Kombination als Haupteingabegerät für meine Workstation.

Der PC ist auch an meinem Fernseher angeschlossen. Beim Fernsehen benutze ich gerne eine billige Tastatur mit Touchpad. Eine Marke ist nicht angegeben, aber auf der Rückseite steht:

Wireless Keyboard
Model: ST-WK600
Art. nr.: IW.48.788

Da ich von meinem MacBook an das „natürliche Scrollen“ gewöhnt bin, möchte ich dies auch für mein Touchpad nutzen.

Ich möchte jedoch, dass sich die Maus wie standardmäßig verhält.

gnome-control-centerzeigt nur eine Einstellung für Maus und Touchpad. Gibt es eine Möglichkeit, das Scrollverhalten pro Gerät einzustellen?

Gnome-Kontrollzentrum

BEARBEITEN: hwinfo --shortAusgabe, auf die relevanten Abschnitte kürzen.

Wie Sie sehen, sind meine Logitech-Tastatur, der MCE-USB-Empfänger und unknown: Keyboard controller, wobei es sich vermutlich um die Tastatur-Touchpad-Kombination handelt, da kein Abschnitt „Touchpad“ vorhanden ist und /dev/input/micenur ein Gerät aufgelistet ist, darin enthalten.

keyboard:
/dev/input/event6    Logitech LX710 Cordless Desktop Laser
/dev/input/event17   MCE IR Keyboard/Mouse (mceusb)
mouse:
/dev/input/mice      Logitech LX710 Cordless Desktop Laser
unknown:
                    FPU
                    DMA controller
                    PIC
                    Keyboard controller
                    Intel 7 Series/C216 Chipset Family MEI Controller #1
                    Intel 7 Series/C216 Chipset Family SMBus Controller
                    Feature Integration Technology Inc. (Fintek) F71610A or F71612A Consumer Infrared Receiver/Transceiver
/dev/input/event2    P&E Micro Smart Control
                    ASUSTek BCM20702A0

BEARBEITEN 2: xinput listAusgabe. Eines der HLHB155Geräte sollte das Touchpad sein.

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HLHB155 V1 10 27 01 Smart Control         id=10   [slave  pointer  (2)]
⎜   ↳ HLHB155 V1 10 27 01 Smart Control         id=11   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=14   [slave  pointer  (2)]
⎜   ↳ MCE IR Keyboard/Mouse (mceusb)            id=16   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ HLHB155 V1 10 27 01 Smart Control         id=9    [slave  keyboard (3)]
    ↳ Media Center Ed. eHome Infrared Remote Transceiver (1934:5168)    id=12   [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=13   [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=15   [slave  keyboard (3)]
    ↳ HLHB155 V1 10 27 01 Smart Control         id=17   [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=18   [slave  keyboard (3)]
    ↳ MCE IR Keyboard/Mouse (mceusb)            id=19   [slave  keyboard (3)]

Antwort1

gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true

Wenn Sie erhaltenkein solcher Schlüssel, führen Sie aus dconfund suchen Sie nachscrollenoderScrollen.

Antwort2

Keine echte Lösung, aber hier ist ein kleines Python-Skript, das ich zusammengebastelt habe, um meinen Anzeigezoom und die Mausrichtung umzuschalten und zwischen Schreibtisch (Maus und 100 %) und Couch (Trackpad und 200 %) zu wechseln.

Hoffe, es ist hilfreich.

#!/usr/bin/python3

import subprocess
import sys

current = subprocess.check_output([
    'gsettings',
    'get',
    'org.gnome.desktop.interface',
    'scaling-factor'
])

if current == b'uint32 2\n':
    scale = 1
    natural = 'false'
elif current == b'uint32 1\n':
    scale = 2
    natural = 'true'
else:
    sys.exit('cannot determine current scale')

subprocess.call([
    'gsettings',
    'set',
    'org.gnome.desktop.interface',
    'scaling-factor',
    '%d' % (scale,)
])
subprocess.call([
    'gsettings',
    'set',
    'org.gnome.settings-daemon.plugins.xsettings',
    'overrides',
    "{'Gdk/WindowScalingFactor': <%d>}" % (scale,)
])
subprocess.call([
    'gsettings',
    'set',
    'org.gnome.desktop.peripherals.mouse',
    'natural-scroll',
    natural
])

verwandte Informationen