Kann mit der Maus kein Fenster verschieben

marzl

Well-Known Member
Hallo,

auf meinem intel NUX (i7) habe ich ein seltsames Problem, was mich noch davon abhaelt FreeBSD dort ernsthaft zu nutzen.
Ich kann mit der Maus unter Xorg kein Fenster verschieben, oder anders gesagt: Die linke Maustaste bleibt nicht "gedrueckt". Also auch markieren, Schieberegler anfassen, etc geht auch nicht. Als Maus/Tastatur Kombi kommt die CHERRY DW 9100 SLIM Kombination in Spiel. Testweise unter Debian Linux funktionert das einwandfrei.
Eine normale billige Maus an USB angeschlossen funktiniert unter FreeBSD hingegen.

Installiert ist nur pkg install xorg und ein testweise startx einfach als root.
Es wurden noch keine xorg Config Dateien angepasst, kann also nix zeigen.
Hat jemand ne Idee wie ich der Maus das dragging wieder beibringen koennte?
 
Moin,

eine Idee habe ich aktuell noch keine. Evtl. findet man Ansatzpunkte in der /var/log/Xorg.0.log. Zeig die mal mit der funktionierenden und mit der nicht funktionierenden Maus. :)
 
Mir fällt nur die Reihenfolge auf. Beim Lenovo-log wird zuerst die Maus (event4) abgeschlossen, beim Cherry-log ist es zuerst die Tastatur. Die Maus ist dort event5. Aber warum sollte das eine Rolle spielen.

Ist evtl. eine Feststelltaste bei der Cherry-Tastatur per default aktiv? Versuche auch mal Strg/Ctrl und/oder Alt zu drücken und dann zu verschieben. Weitere Ideen habe ich aktuell keine..
 
Jopp, hab ich grad getestet, die linke Maustaste bleibt einfach "nicht gedrückt".
Ok. Haette ja sein koennen. :-) Mit USB habe ich schon einiges erlebt. Wenn zu viele Devices angeschlossen waren, wurde der USB-Stick nicht mehr erkannt usw.

Meine Logitech MX Master macht auch oefter Probleme. Da hilft es manchmal, auf der Mausunterseite den Kanal hin und her zu wechseln oder die Maus bei angestecktem USB-Empfaenger mal aus und wieder ein zu schalten. Habe auch schon erlebt, dass der Empfang des USB-Empfangers durch metallische Teile verdeckt war und daher die Maus geruckelt oder nicht reagiert hat oder das Scrollrad nicht funktionierte. Hast Du den USB-Empfaenger direkt angeschlossen oder ueber einen Hub oder eine USB-Verlaengerung?

Ansonsten hast Du irgendwas in /etc/X11/xorg.conf oder /etc/X11/xorg.conf.d/ und falls ja, koenntest Du das evtl. mal deaktivieren und schauen, ob da war klemmt.
 
Habe auch schon erlebt, dass der Empfang des USB-Empfangers durch metallische Teile verdeckt war und daher die Maus geruckelt oder nicht reagiert hat oder das Scrollrad nicht funktionierte.
Die Maus funktioniert unter Linux und (jetzt) unter Windows ohne Probleme. Empfangsprobleme kann ich ausschliessen

Hast Du den USB-Empfaenger direkt angeschlossen oder ueber einen Hub oder eine USB-Verlaengerung?
Hängt am USB des Monitors, aber auch das umstellen direkt in den Rechner hat nicht geholfen (s.o.)

Ansonsten hast Du irgendwas in /etc/X11/xorg.conf oder /etc/X11/xorg.conf.d/
Nein. Keine manuellen Anpassungen oder auch nur die Erstellung des Config dateien, alles so gestartet wie es nach der Paketinstallation installiert wurde.

Auch die Aktivierung/Seaktivierung der Sysmouse hat macht keinen Unterschied.
 
Hast Du evtl. moused aktiv? Falls ja, koenntest Du das mal als root killen und X11 neu starten und testen? Hast Du mal getestet, ob das Problem auch als normaler User auftritt?
 
weiß auch nicht, aber ich würde mir halt mal die Ausgaben von cat /var/run/devd.pipe ansehen, um zu lesen, ob und was da genau als Gerät erkannt wurde, in /dev nachsehen, ob es sysmouse gibt (wenn die nicht angelegt wird, kann man sie auch in X nicht passend konfigurieren) und vielleicht mit xev mal sehen, ob denn überhaupt ein Code beim Drücken der Taste gelesen wird. Kommt hier gar nichts, kann da vermutlich auch nichts konfiguriert werden.
 
ob denn überhaupt ein Code beim Drücken der Taste gelesen wird. Kommt hier gar nichts, kann da vermutlich auch nichts konfiguriert werden.
Ich schaue das gerne nach, aber vorab: Die Linke Maustaste funktionert ja. Reines Klicken ist möglich.
Und wenn ich schnell genug bin, dann schaffe ich es auch das Fenster für 2 mm zu verschieben, bevor die Maustaste "wieder loslässt.

Ein komisches Problem.
 
Blind geraten, natürlich: Viele höherwertigere Keyboard registrieren zusätzlich eine Maus. Das resultiert daher, da fast alle höherwertigen Keyboards auf dem Markt auf kaum veränderten Controller-SDKs von Holtek aus Taiwan basieren. Bis zu dem Punkt, dass selbst renommiertere Hersteller wie Filco oder Ducky nicht mal den Vendor String überschreiben. Selbst wenn das Keyboard keine Makros unterstützt, ist die Makro-Funktion in der Firmware da und die bringt eine virtuelle Maus mit. Nun mag FreeBSD solche virtuellen Mäuse oft nicht, mit vielen schön obskuren Nebenwirkungen. Hast du einmal die Ausgabe von usbconfig -v? Daran müsste man sehen können, ob das Keyboard eine registriert.
 
Blind geraten, natürlich: Viele höherwertigere Keyboard registrieren zusätzlich eine Maus. Das resultiert daher, da fast alle höherwertigen Keyboards auf dem Markt auf kaum veränderten Controller-SDKs von Holtek aus Taiwan basieren. Bis zu dem Punkt, dass selbst renommiertere Hersteller wie Filco oder Ducky nicht mal den Vendor String überschreiben. Selbst wenn das Keyboard keine Makros unterstützt, ist die Makro-Funktion in der Firmware da und die bringt eine virtuelle Maus mit. Nun mag FreeBSD solche virtuellen Mäuse oft nicht, mit vielen schön obskuren Nebenwirkungen. Hast du einmal die Ausgabe von usbconfig -v? Daran müsste man sehen können, ob das Keyboard eine registriert.
Guter Punkt. Wenn hier die Tastatur das Problem ist, sollte das Problem dann verschwinden, wenn man die Tastatur ausschaltet?
 
Das kann ich nicht trennen irgendwie. Abei die relevanten Einträge in der usbconfig

ugen0.4: <Cherry GmbH CHERRY Wireless Device> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen0.4.0: ukbd0: <Cherry GmbH CHERRY Wireless Device, class 0/0, rev 2.00/0.05, addr 3> ugen0.4.1: ums0: <Cherry GmbH CHERRY Wireless Device, class 0/0, rev 2.00/0.05, addr 3> ugen0.4.2: uhid0: <Cherry GmbH CHERRY Wireless Device, class 0/0, rev 2.00/0.05, addr 3> bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0020 idVendor = 0x046a idProduct = 0xc114 bcdDevice = 0x0005 iManufacturer = 0x0001 <Cherry GmbH> iProduct = 0x0002 <CHERRY Wireless Device> iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001 Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0054 bNumInterfaces = 0x0003 bConfigurationValue = 0x0001 iConfiguration = 0x0000 <no string> bmAttributes = 0x00a0 bMaxPower = 0x0032 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 <HID device> bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x41, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x000a bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 <HID device> bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0002 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x73, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x000a bInterval = 0x0002 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 <HID device> bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x55, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x000a bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000

Blöderweise wird auch nicht der Bluetooth Chip erkannt, sonst könnte ich auf den Wireless Stick verzichten.
ugen0.7: <vendor 0x8087 product 0x0026> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)


Hat leider auch nicht geklappt.
 
Nur mal zur Dokumentation (ist schon ein längerer Thread geworden).
Die Tastatur-Maus Combo meldet sich als profane USB Tastatur und als USB Maus an. Daß es Funk ist, verbirgt der Empfänger gegenüber dem Rechner. Die Tastatur und Maus sind als system device erkannt. Habe ich es richtig verstanden?

Schon mal 'xev' laufen lassen? Dann sieht man, welche Ereignisse X empfängt.

Nur mal so aus meiner libinput.conf in xorg.d
Code:
Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection
 
Eine normale billige Maus an USB angeschlossen funktiniert unter FreeBSD hingegen.
genau.
Wenn ich recht verstehe, funktioniert nur die
Maus/Tastatur Kombi
der CHERRY DW 9100 SLIM nicht in FreeBSD und das wird wohl so sein, wie @Yamagi oben erklärte. Wenn nicht so, dann anders, jedenfalls eine Sache der HW, die von FreeBSD nicht toleriert wird.
Nun ist ein gedrückter Taster ein mechanischer Kontakt. Der kann ja nur EIN oder AUS sein. Bei einer normales Maus wird dabei ein definiertes Signal am USB-Port erzeugt, von der HW weitergeleitet und von der SW des Systems ausgewertet. Ganz grob gesagt. Das System und/oder X wissen um die Maus und weisen eine Aktion zu. Überall, an beinahe allen Stellen kann man vielleicht irgendwas konfigurieren oder friemeln.
Man kann aber nicht so einfach einen offenen Kontakt in einen geschlossenen umwandeln oder umgekehrt. Besonders nicht in einer Art und Weise, dass es bei einer normalen Maus richtig funktioniert und bei der Sonder-Maus nicht.
Das deute ich so, dass die HW hier eine Änderung des Kontaktes übermittelt und dass das System/X richtig darauf reagieren. Unter X kann man das aber auch dann sehen, wenn die Änderung in XEV dargestellt wird. X hängt in der Kette ja ziemlich hinten und man kann ja durchaus zwei Mäuse gleichzeitig haben und dann die normale mit der Sonder-Maus gut vergleichen.

Wieso das dann bei anderen Systemen funktionieren kann, ist mir nicht klar. Es schwebt mir da vor, dass ein gedrückter Mauskontakt (man könnte auch die rechte und linke Taste mal vertauschen und beobachten), kein dauerhaftes Signal erzeugt, sondern irgendwie getaktet wird und dass mit Hilfe spezieller Treiber dies dann richtig verstanden werden kann. Aber das ist weit hergeholt.

Am einfachsten ist vermutlich, einfach eine weitere Maus zu nehmen und die zu benutzen.
 
nter X kann man das aber auch dann sehen, wenn die Änderung in XEV dargestellt wird. X hängt in der Kette ja ziemlich hinten und man kann ja durchaus zwei Mäuse gleichzeitig haben und dann die normale mit der Sonder-Maus gut vergleichen.
Die Info werde ich mal nachschieben

Am einfachsten ist vermutlich, einfach eine weitere Maus zu nehmen und die zu benutzen.
Vermutlich, oder ich bekomme das mit Bluetooth hin :)
 
Wieso das dann bei anderen Systemen funktionieren kann, ist mir nicht klar. Es schwebt mir da vor, dass ein gedrückter Mauskontakt (man könnte auch die rechte und linke Taste mal vertauschen und beobachten), kein dauerhaftes Signal erzeugt, sondern irgendwie getaktet wird und dass mit Hilfe spezieller Treiber dies dann richtig verstanden werden kann. Aber das ist weit hergeholt.
Jetzt wird es ganz verrückt:
Als Sysmouse (moused) rein in der Konsole kann ich einwandfrei Texte markieren (also die Linke Maustaste gedrückt halten)
 
Es werden zumindest nicht zwei Mäuse registriert, aber eine Maus und ein HID-Device. Ist die Frage, was das HID-Device ist. Es kann das Keyboard sein, wobei das bei Funkkeyboards eher unüblich ist. Sie können meist eh kein nKey-Rollover und daher ist das normale USB-Protokoll ausreichend. Es kann aber auch die Maus oder die ganze Kombination repräsentieren. Daher eine neue Theorie: moused geht auf ums0 und funktioniert. X.org fummelt aber auf dem HID-Device rum und das geht schief.

Eventuell wäre es einen Versuch wert den moused laufen zu lassen und Xorg zu zwingen /dev/sysmouse zu verwenden. Wobei ich jetzt aus dem Stehgreif nicht sagen kann, wie das geht.
 
Wobei ich jetzt aus dem Stehgreif nicht sagen kann, wie das geht.
nicht mit solch einem Eintrag in der xorg.conf?:
Code:
Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/sysmouse"
    Option        "ZAxisMapping" "4 5 6 7"
    Option        "SampleRate"    "1000"
    Option        "Resolution"    "2000"
EndSection
 
Ja, das müsste gehen. Eventuell muss man noch AutoAddDevices auf Off setzen, damit er nicht rumhotluged.
 
?
Vielleicht hilft das ja auch was, ich meine wegen hid-geräten und so...
 
Hallo ! Habe hier eine Cherry 8000DW Tastatur/Maus - Combi am laufen !

Habe in /usr/local/etc/X11/xorg.conf.d folgende 00-keyboard.conf :

Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "de"
Option "XkbVariant" "deadgraveacute"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection


Alles gut !

Mal antesten !

Gruss
 
Zurück
Oben