Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
FIXED: Joystick Interface als Maus deaktiveren
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2033
Location: Heidelberg - Germany

PostPosted: Sun Jan 22, 2017 5:28 pm    Post subject: FIXED: Joystick Interface als Maus deaktiveren Reply with quote

Ich habe ein USB Stick, welcher, wenn eingesteckt, einen Joystick emuliert. Damit steuere ich einen RC - Flugsimulator. Was dabei sehr nervig ist, dass dieser auch den Mauszeiger mitbewegt. D. h. bewegt man den Steuerknüppel, tanzt die Maus hin und her.

Das hat 2 große Nachteile:

1. Im Multimonitorbetrieb müssen alle offenen Applikationen minimiert werden, sonst verliert der Simulator den Fokus, da ich "Fokus follows mouse" aktiviert habe.

2. Um die Menüs im Simulator zu bedienen, muß die an den Stick angeschlossene RC Fernsteuerung ausgeschaltet werden, weil sonst winzigste Bewegungen zu Mausbewegungen führen, so dass man die Menüs nicht mehr bedienen können

Die Frage ist: Kann man den Einfluß des Joysticks auf den Maus irgendwie abschalten? Fall ja, wo und wie?
_________________
Desktop AMD FX-4300 12GB RAM, Asus GF GTX 650. Sound RME Multiface + PCI + Cardbus, 2x RME Quadmic, 1x Behringer ADA8000 + ganz viele Modellflugzeuge, ein Tandem, Rennrad und DFXL ;)
2x IBM Thinkpad T60
Zotag Mag Mini Atom
Raspberry Pi 1 + 2 + Zero W


Last edited by Erdie on Sat Jan 28, 2017 4:30 pm; edited 1 time in total
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Tue Jan 24, 2017 12:26 pm    Post subject: Reply with quote

Ich hab einen HTPC mit einem IR-Receiver iMon Soundgraph. Das Ding besteht in Wirklichkeit aus 2 Geräten:
  • kbd mouse0 event2
  • kbd event3

Die Vendor-/Product-ID sind für beide Devices identisch (15c2:0036).

Unterschieden hab ich das über Udev-Rules und dort über das Namensattribut:
Code:
cat /proc/bus/input/devices


Die Rules lauten dann:
Code:
SUBSYSTEMS=="input",ATTRS{name}=="iMON Panel, Knob and Mouse(15c2:0036)",SYMLINK="input/irknob"
SUBSYSTEMS=="input",ATTRS{name}=="iMON Remote(15c2:0036)",SYMLINK="input/irremote"


Prüf mal nach, ob das bei Dir auch so ähnlich funktionieren kann.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2033
Location: Heidelberg - Germany

PostPosted: Fri Jan 27, 2017 6:05 pm    Post subject: Reply with quote

Bei mir sieht das folgendermaßen aus:

Code:

cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=10000000000000 0

I: Bus=0003 Vendor=046d Product=c03f Version=0110
N: Name="Logitech USB-PS/2 Optical Mouse"
P: Phys=usb-0000:00:12.0-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:12.0/usb4/4-3/4-3:1.0/0003:046D:C03F.0001/input/input5
U: Uniq=
H: Handlers=mouse0 event2
B: PROP=0
B: EV=17
B: KEY=f0000 0 0 0 0
B: REL=103
B: MSC=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Front Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input8
U: Uniq=
H: Handlers=event5
B: PROP=0
B: EV=21
B: SW=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Rear Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input9
U: Uniq=
H: Handlers=event6
B: PROP=0
B: EV=21
B: SW=10

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Line"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input10
U: Uniq=
H: Handlers=event7
B: PROP=0
B: EV=21
B: SW=2000

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Line Out Front"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input11
U: Uniq=
H: Handlers=event8
B: PROP=0
B: EV=21
B: SW=40

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Line Out Surround"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input12
U: Uniq=
H: Handlers=event9
B: PROP=0
B: EV=21
B: SW=40

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Line Out CLFE"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input13
U: Uniq=
H: Handlers=event10
B: PROP=0
B: EV=21
B: SW=40

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Line Out Side"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input14
U: Uniq=
H: Handlers=event11
B: PROP=0
B: EV=21
B: SW=40

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA ATI SB Front Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:14.2/sound/card0/input15
U: Uniq=
H: Handlers=event12
B: PROP=0
B: EV=21
B: SW=4

I: Bus=0003 Vendor=046d Product=080f Version=0009
N: Name="UVC Camera (046d:080f)"
P: Phys=usb-0000:00:13.2-1/button
S: Sysfs=/devices/pci0000:00/0000:00:13.2/usb2/2-1/2-1:1.0/input/input16
U: Uniq=
H: Handlers=kbd event13
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA NVidia HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input17
U: Uniq=
H: Handlers=event14
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA NVidia HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input18
U: Uniq=
H: Handlers=event15
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA NVidia HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input19
U: Uniq=
H: Handlers=event16
B: PROP=0
B: EV=21
B: SW=140

I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:12.0-5/input0
S: Sysfs=/devices/pci0000:00/0000:00:12.0/usb4/4-5/4-5:1.0/0003:046D:C31C.000E/input/input48
U: Uniq=
H: Handlers=sysrq kbd leds event3
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:12.0-5/input1
S: Sysfs=/devices/pci0000:00/0000:00:12.0/usb4/4-5/4-5:1.1/0003:046D:C31C.000F/input/input49
U: Uniq=
H: Handlers=kbd event4
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10

I: Bus=0003 Vendor=127f Product=e027 Version=0100
N: Name="IPACS easyFly2 Interface"
P: Phys=usb-0000:00:13.0-4/input0
S: Sysfs=/devices/pci0000:00/0000:00:13.0/usb5/5-4/5-4:1.0/0003:127F:E027.0011/input/input51
U: Uniq=
H: Handlers=event17 js0
B: PROP=0
B: EV=1b
B: KEY=3f00000000 0 0 0 0
B: ABS=7f
B: MSC=10


Das letzte Interface ist der USB Joystick Dongle. Aber so ganz werde ich nicht schlau, wie ich dem jetzt abgewöhnen kann auch die Maus zu bewegen.
_________________
Desktop AMD FX-4300 12GB RAM, Asus GF GTX 650. Sound RME Multiface + PCI + Cardbus, 2x RME Quadmic, 1x Behringer ADA8000 + ganz viele Modellflugzeuge, ein Tandem, Rennrad und DFXL ;)
2x IBM Thinkpad T60
Zotag Mag Mini Atom
Raspberry Pi 1 + 2 + Zero W
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4472

PostPosted: Fri Jan 27, 2017 9:39 pm    Post subject: Reply with quote

Wie sieht das log von Xorg aus?
AFAIK kann XOrg auch joysticks als primary input verwenden.
Es gibt auch den dedizierten joystick xorg input treiber.
Vermutlich hast du ihn aber nicht installiert. Eher hat der evdev xorg treiber das gerät erkannt und entsprechend eingebunden.

Was sagt die ausgabe von xinput (übers paket x11-apps/xinput installierbar)
Das tool listet alle von xorg bekannte input geräte auf und man kann diese darüber auch konfigurieren.
Wenn der joystick darüber auftaucht könnte man eventuell über das tool als primary input deaktivieren.

Desweiteren könnte man xorg/evdev treiber so konfigurieren, dass es joystick devices ignoriert als input

EDIT: Für das deaktivieren von joysticks als mouse/key input könnte das helfen: https://bbs.archlinux.org/viewtopic.php?id=119421, https://wiki.archlinux.org/index.php/Gamepad#Disable_joystick_from_controlling_mouse
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2033
Location: Heidelberg - Germany

PostPosted: Sat Jan 28, 2017 11:03 am    Post subject: Reply with quote

xinput ist ein guter Punkt. Was es nicht alles für Helferlein gibt :)

xinput gibt folgendes aus:

Code:

~ # xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=8    [slave  pointer  (2)]
⎜   ↳ IPACS easyFly2 Interface                  id=12   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ UVC Camera (046d:080f)                    id=11   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=10   [slave  keyboard (3)]


Die Hilfe von xinput gibt u. a. folgendes aus:

Code:

...
xinput disable <device>
...


Was meint <device>? Ist es die ID? Und, ganz wichtig, ist die Einstellung persistent? Ich möchte mir nicht versehentlich die Maus abschießen. Die ID wäre zumindest eindeutig.

UPDATE:

Google sagt mir gerade, dass dieses der richtige Weg sei:

Code:

xinput --set-prop "your device as it spears in the list" "Device Enabled" 0


UPDATE:

Das hat funktioniert!

Danke :)
_________________
Desktop AMD FX-4300 12GB RAM, Asus GF GTX 650. Sound RME Multiface + PCI + Cardbus, 2x RME Quadmic, 1x Behringer ADA8000 + ganz viele Modellflugzeuge, ein Tandem, Rennrad und DFXL ;)
2x IBM Thinkpad T60
Zotag Mag Mini Atom
Raspberry Pi 1 + 2 + Zero W
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2033
Location: Heidelberg - Germany

PostPosted: Sat Jan 28, 2017 4:30 pm    Post subject: Reply with quote

INFO

Folgende udev Regel sorgt nun dafür, dass der Stick nach dem Einstecken automatisch deaktiviert wird:

Code:

cat 91-disable_ipacs_as_mouse
ACTION=="add", ATTRS{idVendor}=="127f", ATTRS{idProduct}=="e027", RUN+="/usr/local/bin/disable_joystick"


Das Skript "disable_joystick" enthält den nötigen Befehl.

UPDATE:

Ich muß zurückrudern. Die Regel funktioniert nicht, das Skript schon. Warum weiß ich noch nicht. Manuell funktioniert es schon.
_________________
Desktop AMD FX-4300 12GB RAM, Asus GF GTX 650. Sound RME Multiface + PCI + Cardbus, 2x RME Quadmic, 1x Behringer ADA8000 + ganz viele Modellflugzeuge, ein Tandem, Rennrad und DFXL ;)
2x IBM Thinkpad T60
Zotag Mag Mini Atom
Raspberry Pi 1 + 2 + Zero W
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4472

PostPosted: Sat Jan 28, 2017 9:43 pm    Post subject: Reply with quote

wenn das script xinput aufruft dann kann es nicht funktionieren.
Denn wenn udev das script aufruft ist null x-server context vorhanden.

Und was ist mit den anderen links die ich gepostet habe?
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2033
Location: Heidelberg - Germany

PostPosted: Mon Jan 30, 2017 6:48 pm    Post subject: Reply with quote

Die lösen das in beiden Fällen mit xorg Mitteln. IMHO matched das in meinem Fall nicht, da ich keinen dedizierten Treiber verwende. Aber mit der manuellen Methode kann ich ganz gut leben.
_________________
Desktop AMD FX-4300 12GB RAM, Asus GF GTX 650. Sound RME Multiface + PCI + Cardbus, 2x RME Quadmic, 1x Behringer ADA8000 + ganz viele Modellflugzeuge, ein Tandem, Rennrad und DFXL ;)
2x IBM Thinkpad T60
Zotag Mag Mini Atom
Raspberry Pi 1 + 2 + Zero W
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4472

PostPosted: Mon Jan 30, 2017 7:13 pm    Post subject: Reply with quote

Erdie wrote:
Die lösen das in beiden Fällen mit xorg Mitteln. IMHO matched das in meinem Fall nicht, da ich keinen dedizierten Treiber verwende. Aber mit der manuellen Methode kann ich ganz gut leben.

Stimmt. Die binden fix joysticks an den joystick driver welcher eine option hat keine mouse input events zu generieren.

Wobei es kann auch sein das ein neuerer xorg evdev treiber fixes für solche fehl erkennungen hat
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1178

PostPosted: Fri Feb 03, 2017 7:28 am    Post subject: Reply with quote

so spontan hätte ich gesagt, dass es automatisch über die xorg-conf funktionieren könnte. Hab jetzt keine Anleitung dazu, wenn du aber weitersuchen willst, würde ich in der Richtungn suchen.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2033
Location: Heidelberg - Germany

PostPosted: Sun Feb 12, 2017 1:34 pm    Post subject: Reply with quote

Ich habe das jetzt so gelöst, dass ich das Kommando in den Starter des Simulator aufrufe. Für nichts anderes brauche ich diese Funktion und wenn sie mehrfach aufgerufen wird, passiert auch nix.
Die udev Regel deaktiviert und aktiviert das CPU stepping, denn mit CPU Stepping ruckelt der Simulator, irgendwie scheint die Last, die der Simulator generiert, "nice" zu sein und die CPU taktet von allein nicht hoch. Das Verhalten ist auch seltsam.
_________________
Desktop AMD FX-4300 12GB RAM, Asus GF GTX 650. Sound RME Multiface + PCI + Cardbus, 2x RME Quadmic, 1x Behringer ADA8000 + ganz viele Modellflugzeuge, ein Tandem, Rennrad und DFXL ;)
2x IBM Thinkpad T60
Zotag Mag Mini Atom
Raspberry Pi 1 + 2 + Zero W
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum