Eksternt USB-trackpad og multitouch

Scannere, kameraer, printere, mus, tegneplader osv.
jampe
Indlæg: 6
Tilmeldt: 11. nov 2010, 17:53

Eksternt USB-trackpad og multitouch

Indlægaf jampe » 11. nov 2010, 18:30

Jeg har prøvet at få et "ORtek Smart Pad" til at genkende multitouch-manøvrer, men uden held.
Der findes drivere til Windows som muliggør multitouch, så det er ikke et hardwareproblem.
Jeg har været forbi utouch framework og pointer-capture-applet, indskrevet pad'et i xorg.conf, prøvet at finde drivere, etc..

Mit seneste fund er denne driver, som jeg ikke kan få til at give mig nogen outputs, men ellers virker lovende.

Problemet er, at dette "ORtek Smart Pad" bliver registreret som en mus.
Min mission er at få det til at opføre sig præcis som det indbyggede touchpad i min laptop.

Nogen idéer?

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 13. nov 2010, 02:00

jampe skrev:Jeg har prøvet at få et "ORtek Smart Pad" til at genkende multitouch-manøvrer, men uden held.
Der findes drivere til Windows som muliggør multitouch, så det er ikke et hardwareproblem.
Jeg har været forbi utouch framework og pointer-capture-applet, indskrevet pad'et i xorg.conf, prøvet at finde drivere, etc..

Mit seneste fund er denne driver, som jeg ikke kan få til at give mig nogen outputs, men ellers virker lovende.

Problemet er, at dette "ORtek Smart Pad" bliver registreret som en mus.
Min mission er at få det til at opføre sig præcis som det indbyggede touchpad i min laptop.

Nogen idéer?


Det er muligvis en mus - set fra computeren synspunkt. Den virker ikke fysisk på samme måde, men teknisk sender den samme information som en mus. Lige præcis det USB enhed du har er sikkert under det der kaldes (USB Human Interface Device - USB HID). Den er er gruppe af relaterede funktioner: kig på USB-HID tablet
På samme måde er en stregkode skanner det samme som et (numerisk) tastatur og hører derfor også i USB HID klassen.

Prøv at kigge i logs med Logfilsfremviser i System > Administration menuen.

prøv at vise resultatet af

Kode: Vælg alt

lsusb

kommandoen både før og efter at du har sat enheden til computeren.
Du kører kommandoen i Terminal, som du finder i Programmer > Tilbehør

Resultatet af de 2 kommandoer markerer du og vælger derefter Rediger > Kopier i Terminal, og derefter indsætter du teksten ind i et nyt indlæg her i tråden.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

jampe
Indlæg: 6
Tilmeldt: 11. nov 2010, 17:53

Re: Eksternt USB-trackpad og multitouch

Indlægaf jampe » 15. nov 2010, 23:39

Jeg går ud fra, at den metode skulle udplukke trackpad'ets navn fra listen.
Det er i så fald dette navn, vi leder efter:

Kode: Vælg alt

Bus 002 Device 005: ID 05a4:2000 Ortek Technology, Inc. WKB-2000 Wireless Keyboard with Touchpad

..ikke at det overhovedet er navnet eller specifikationerne på det produkt jeg har, men det er nu også fra Hong Kong, så det må være en fejl :)

dmesg genkender det som et andet produkt, dog stadig af samme producent:

Kode: Vælg alt

[   23.909556] input: ORTEK Smart Pad         as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.5/2-1.5:1.0/input/input11
[   23.909737] ortek 0003:05A4:2000.0004: input,hidraw4: USB HID v1.10 Keyboard [ORTEK Smart Pad        ] on usb-0000:00:1d.7-1.5/input0
[   23.913784] input: ORTEK Smart Pad         as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.5/2-1.5:1.1/input/input13
[   23.913927] ortek 0003:05A4:2000.0005: input,hiddev96,hidraw5: USB HID v1.10 Mouse [ORTEK Smart Pad        ] on usb-0000:00:1d.7-1.5/input1

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 16. nov 2010, 08:40

jampe skrev:Jeg går ud fra, at den metode skulle udplukke trackpad'ets navn fra listen.
Det er i så fald dette navn, vi leder efter:

Kode: Vælg alt

Bus 002 Device 005: ID 05a4:2000 Ortek Technology, Inc. WKB-2000 Wireless Keyboard with Touchpad

..ikke at det overhovedet er navnet eller specifikationerne på det produkt jeg har, men det er nu også fra Hong Kong, så det må være en fejl :)

Det er ikke sikkert. Har du hørt om rebranded produkter?

jampe skrev:dmesg genkender det som et andet produkt, dog stadig af samme producent:

Kode: Vælg alt

[   23.909556] input: ORTEK Smart Pad         as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.5/2-1.5:1.0/input/input11
[   23.909737] ortek 0003:05A4:2000.0004: input,hidraw4: USB HID v1.10 Keyboard [ORTEK Smart Pad        ] on usb-0000:00:1d.7-1.5/input0
[   23.913784] input: ORTEK Smart Pad         as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.5/2-1.5:1.1/input/input13
[   23.913927] ortek 0003:05A4:2000.0005: input,hiddev96,hidraw5: USB HID v1.10 Mouse [ORTEK Smart Pad        ] on usb-0000:00:1d.7-1.5/input1


Ja det er stadig Ortek, men det er stadig den samme enhed (ortek 0003:05A4:2000)-og den opdager at det er en 2 i 1 enhed (ortek 0003:05A4:2000.0004, ortek 0003:05A4:2000.0005)
Den første er fra tastatur funktionen i enheden, og den anden er muse funktionen (trackpad'en) i enheden.

Kerner (et sted i 2.6.32.x serien) har problemer med den: https://bugs.launchpad.net/ubuntu/+sour ... bug/405390

Du har ikke sagt noget om hvilken Ubuntu version du har og hvilken kerne du kører med.
Prøv at fortælle hvad resultatet af disse 2 kommandoer er:

Kode: Vælg alt

lsb_release -d;uname -a

... udført fra Terminal, som du finder i Programmer > Tilbehør menuen

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

jampe
Indlæg: 6
Tilmeldt: 11. nov 2010, 17:53

Re: Eksternt USB-trackpad og multitouch

Indlægaf jampe » 16. nov 2010, 15:04

lath skrev:Du har ikke sagt noget om hvilken Ubuntu version du har og hvilken kerne du kører med.

D'oh :P
Det er 10.10 og 2.6.35-22

Kode: Vælg alt

Description:   Ubuntu 10.10
Linux odin 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux


Det er dog ikke det samme problem jeg er stødt ind i.
Det er ikke min opfattelse, at der er en fejl at finde i mit problem, da det er enhedens opførsel at agere mus uden en driver.
Min ambition er at aflæse inputtet ligesom synaptics-driveren gør med det indbyggede trackpad.

Og tak for hjælpen indtil videre, Lars

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 17. nov 2010, 02:08

jampe skrev:
lath skrev:Du har ikke sagt noget om hvilken Ubuntu version du har og hvilken kerne du kører med.

D'oh :P
Det er 10.10 og 2.6.35-22

Kode: Vælg alt

Description:   Ubuntu 10.10
Linux odin 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux


Det er dog ikke det samme problem jeg er stødt ind i.
Det er ikke min opfattelse, at der er en fejl at finde i mit problem, da det er enhedens opførsel at agere mus uden en driver.
Min ambition er at aflæse inputtet ligesom synaptics-driveren gør med det indbyggede trackpad.

Og tak for hjælpen indtil videre, Lars


Nu ved jeg hvad du skal:
Du skal rette i/tilføje til xorg.conf filen (måske oven i købet oprette den først).
Det fandt jeg ud af ved at kigge i synaptics(4) manual siden.
Det skriver at Synaptics er en input driver til X serveren.

Ubuntu Community Dokumentation har som altid masser af dokumentation om alt - og touchpads er ingen undtagelse - Læs denne side om Synaptics
Læg mærke til at de skriver om noget der hedder SHMConfig (Bemærk at du ikke må bruge "Using HAL" delen af SHMConfig afsnittet. Årsagen er at nyere Ubuntu versioner bruger Devicekit i stedet for HAL)

Det er en tekstfil du skal tilføje noget tekst til.
Når du er færdig med SHMConfig fortsætter du med synclient.

God fornøjelse med det.
Bemærk lige at jeg hader xorg.conf så det er ikke fil jeg piller i - dvs. at får du problemer med xorg.conf er det ikke mig du skal spørge. (Jeg brugte 3 måneders indædt slåskamp med xorg.conf for at få en grafisk brugergrænseflade. Det er derfor jeg hader xorg.conf. Jeg startede med at bruge Linux styresystemer i November 1999 - for 11 år og 2 uger siden)

Husk altid at lave en backup af din xorg.conf fil, før du ændrer i den (gælder selvfølgelig kun hvis den allerede er der).
laver du ikke backup kan du i værste fald komme ud i at skulle lave en geninstallation.
Backup laver du således i terminal:

Kode: Vælg alt

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup


/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

jampe
Indlæg: 6
Tilmeldt: 11. nov 2010, 17:53

Re: Eksternt USB-trackpad og multitouch

Indlægaf jampe » 17. nov 2010, 03:06

Argh, jeg har været forbi den selv samme artikel flere gange.
SHMConfig er desværre heller ikke løsningen.

Jeg tror, det her en blindgyde.
Det eneste jeg kan skyde skylden på nu er Synaptics-drivernes multitouch-protokol.
Jeg må nok se i øjnene, at denne enhed skal have sin egen driver, ligesom i Mac OS og Windows.

Mit sidste bud er at køre cat /proc/bus/input/devices og prøve at udpege forskelle:

Det indbyggede trackpad:

Kode: Vælg alt

I: Bus=0003 Vendor=05ac Product=0231 Version=0000
N: Name="bcm5974"
P: Phys=usb-0000:00:1d.2-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb7/7-2/7-2:1.2/input/input4
U: Uniq=
H: Handlers=mouse0 event4
B: EV=b
B: KEY=e420 0 10000 0 0 0 0 0 0 0 0
B: ABS=7f0000 11000003


Det eksterne trackpad:

Kode: Vælg alt

I: Bus=0003 Vendor=05a4 Product=2000 Version=0110
N: Name="ORTEK Smart Pad        "
P: Phys=usb-0000:00:1d.7-1.5/input1
S: Sysfs=/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.5/2-1.5:1.1/input/input8
U: Uniq=
H: Handlers=kbd mouse1 event8
B: EV=2001f
B: KEY=1f0000 0 2000000 3878 d801d001 1e0000 0 0 0
B: REL=103
B: ABS=3f00 0
B: MSC=10
B: LED=ff00


Og hvis ikke det kan bruges til noget, så ellers mange tak for en meget grundig hjælp.

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 17. nov 2010, 04:24

jampe skrev:Argh, jeg har været forbi den selv samme artikel flere gange.
SHMConfig er desværre heller ikke løsningen.

Jeg tror, det her en blindgyde.
Det eneste jeg kan skyde skylden på nu er Synaptics-drivernes multitouch-protokol.
Jeg må nok se i øjnene, at denne enhed skal have sin egen driver, ligesom i Mac OS og Windows.

Mit sidste bud er at køre cat /proc/bus/input/devices og prøve at udpege forskelle:

Det indbyggede trackpad:

Kode: Vælg alt

I: Bus=0003 Vendor=05ac Product=0231 Version=0000
N: Name="bcm5974"
P: Phys=usb-0000:00:1d.2-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb7/7-2/7-2:1.2/input/input4
U: Uniq=
H: Handlers=mouse0 event4
B: EV=b
B: KEY=e420 0 10000 0 0 0 0 0 0 0 0
B: ABS=7f0000 11000003


Det eksterne trackpad:

Kode: Vælg alt

I: Bus=0003 Vendor=05a4 Product=2000 Version=0110
N: Name="ORTEK Smart Pad        "
P: Phys=usb-0000:00:1d.7-1.5/input1
S: Sysfs=/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.5/2-1.5:1.1/input/input8
U: Uniq=
H: Handlers=kbd mouse1 event8
B: EV=2001f
B: KEY=1f0000 0 2000000 3878 d801d001 1e0000 0 0 0
B: REL=103
B: ABS=3f00 0
B: MSC=10
B: LED=ff00


Og hvis ikke det kan bruges til noget, så ellers mange tak for en meget grundig hjælp.


Du har misforstået noget - og nogle af de ting du starter med at skrive er ikke rigtige, for den måde du tror at X og Linux er skruet sammen på er ikke rigtig. (Bemærk venligst at Ubuntu ikke er det samme som Linux, Linux er en del af Ubuntu).

Jeg arbejder lige på et indlæg til dig - jeg skal lige finde noget, som jeg er sikkert på er rigtig nyttig viden for dig.

I mellemtiden vil jeg gerne have output fra:

Kode: Vælg alt

sudo lsusb -d 05a4:2000 --verbose


/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 17. nov 2010, 07:17

Her er hvordan du finder device filens sti og navn til din dims. Det er skal Synaptics bruge.
Du skal iøvrigt ikke tage dig at jeg nok skriver på et niveau der er meget lavere end dit - for jeg vil gerne have at de fleste kan følge med her.

Jeg bruger eksempler som er meget nemmere at forstå, og jeg bruger min egen hardware:

1)
Vi starter med at høvle en ordentlig bunke kommandoer af:
1a)

Kode: Vælg alt

lsusb

Bus 002 Device 005: ID 10d5:55a2 Uni Class Technology Co., Ltd 2Port KVMSwitcher
Bus 002 Device 004: ID 046d:c404 Logitech, Inc. TrackMan Wheel
Bus 002 Device 003: ID 046d:c313 Logitech, Inc.
Bus 002 Device 002: ID 058f:9254 Alcor Micro Corp. Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

1b)

Kode: Vælg alt

lsusb -vt

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/8p, 12M
|__ Port 7: Dev 2, If 0, Class=hub, Driver=hub/4p, 12M
|__ Port 1: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M
|__ Port 1: Dev 3, If 1, Class=HID, Driver=usbhid, 1.5M
|__ Port 2: Dev 4, If 0, Class=HID, Driver=usbhid, 1.5M
|__ Port 3: Dev 5, If 0, Class=HID, Driver=usbhid, 1.5M
|__ Port 3: Dev 5, If 1, Class=HID, Driver=, 1.5M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M


Vi lægger mærke til at usbhid er device driveren, og at/fordi USB class er HID (Human Interface Device) for enheden.
USB er opdelt i klasser, HID er en af dem, en anden er Storage device, så som ekstern USB harddisk, USB flash disk og lignende for USB enheder hvor du typisk gemmer filer på.
1c)

Kode: Vælg alt

ls -l /dev/input

totalt 0
drwxr-xr-x 2 root root 140 2010-11-17 01:13 by-id
drwxr-xr-x 2 root root 140 2010-11-17 01:13 by-path
crw-r----- 1 root root 13, 64 2010-11-17 01:13 event0
crw-r----- 1 root root 13, 65 2010-11-17 01:13 event1
crw-r----- 1 root root 13, 66 2010-11-17 01:13 event2
crw-r----- 1 root root 13, 67 2010-11-17 01:13 event3
crw-r----- 1 root root 13, 68 2010-11-17 01:13 event4
crw-r----- 1 root root 13, 69 2010-11-17 01:13 event5
crw-r----- 1 root root 13, 63 2010-11-17 01:13 mice
crw-r----- 1 root root 13, 32 2010-11-17 01:13 mouse0


Dette er device filer de repræsenter en input enhed.
1d)

Kode: Vælg alt

ls -l /dev/input/by-id

totalt 0
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 usb-LITEON_Technology_USB_Multimedia_Keyboard-event-if01 -> ../event3
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 usb-LITEON_Technology_USB_Multimedia_Keyboard-event-kbd -> ../event2
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 usb-Logitech_Trackball-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 usb-Logitech_Trackball-mouse -> ../mouse0
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 usb-No_brand_2Port_KVMSwicther_1_²-event-kbd -> ../event5


Du kan også bruge en af disse soft-links (bogstavet l angiver at det er et link, og -> pilen at det er et soft-link, hard-links (flere filnavne med evt. forskellig sti til samme fysiske fil i det samme filsystem) ser anderledes ud
1e)

Kode: Vælg alt

ls -l /dev/input/by-path

totalt 0
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 pci-0000:00:04.0-usb-0:7.1:1.0-event-kbd -> ../event2
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 pci-0000:00:04.0-usb-0:7.1:1.1-event -> ../event3
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 pci-0000:00:04.0-usb-0:7.2:1.0-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 pci-0000:00:04.0-usb-0:7.2:1.0-mouse -> ../mouse0
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 pci-0000:00:04.0-usb-0:7.3:1.0-event-kbd -> ../event5

Disse kan også bruges. De er meget nyttige, hvis man har fundet enheden i /sys/devices/
2)
De 2 logitech ting er interessante fordi at der både på mit tastatur og trackball står logitech, så dem prober vi for noget mere information:
2a)
Først undersøger vi:
Bus 002 Device 004: ID 046d:c404 Logitech, Inc. TrackMan Whee

Kode: Vælg alt

sudo lsusb -d 046d:c404 --verbose

Du bemærker at 046d:c404 kommer fra:
Bus 002 Device 004: ID 046d:c404 Logitech, Inc. TrackMan Whee

Man kunne også have brugt

Kode: Vælg alt

sudo lsusb -b 002:004 --verbose

hvor 002 er bus, og 004 er device:
Bus 002 Device 004: ID 046d:c404 Logitech, Inc. TrackMan Whee


Resultatet af en af de 2 kommandoer er i begge tilfælde:
[sudo] password for lars:

Bus 002 Device 004: ID 046d:c404 Logitech, Inc. TrackMan Wheel
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x046d Logitech, Inc.
idProduct 0xc404 TrackMan Wheel
bcdDevice 2.20
iManufacturer 1 Logitech
iProduct 2 Trackball
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 103
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)

Ok, det her fortæller mig at det var en mus:
idVendor 0x046d Logitech, Inc.
idProduct 0xc404 TrackMan Wheel

iManufacturer 1 Logitech
iProduct 2 Trackball

bInterfaceProtocol 2 Mouse

Bemærk at bInterfaceProtocol er der flere af - jeg kigger på den der står i Configuration Desriptor:
2b)
Det samme for tastaturet:
Bus 002 Device 003: ID 046d:c313 Logitech, Inc.

Kode: Vælg alt

sudo lsusb -d 046d:c313 --verbose

eller

Kode: Vælg alt

sudo lsusb -b 002:003 --verbose

Vi fik (uddrag):
idVendor 0x046d Logitech, Inc.
idProduct 0xc313

iManufacturer 1 LITEON Technology
iProduct 2 USB Multimedia Keyboard

bInterfaceProtocol 1 Keyboard

Vi lægger mærke til at Logitech, Inc. (idVendor) har lavet et produkt som er produceret af LITEON Technology (iManufacturer).

(fortsættes ...)

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 17. nov 2010, 08:46

Test - eller - tid til lidt sjov :mrgreen:

3)
Test af musen

Fra punkt 1c kan vi at vi har /dev/input/mouse0
Fra punkt 1d og 1e ved vi at de også findes som /dev/input/by-id/usb-Logitech_Trackball-mouse og /dev/input/by-path/pci-0000:00:04.0-usb-0:7.2:1.0-mouse

Fra punkt 1e har vi også
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 pci-0000:00:04.0-usb-0:7.2:1.0-event-mouse -> ../event4

Det ligner noget med hændelser fra en mus - hvilket det også er.
Du skal midlertidigt bruge mouse0. Device driveren skal nok gøre det rigtige.

Prøv at åbne en helst ny terminal. Nu skal vi til noget af det sjove:
Kør:

Kode: Vælg alt

sudo less -f -B /dev/input/event4

Tryk på mellemrumstasten når du har produceret data for mere end 1 side, og tryk på q-tasten for at lukke den.

Ok, har du udført samme test på din egen hardware nu, så har du set at den producerer data.
Det betyder at du har en Linux device driver inde - og det er endda helt automatisk.

Bemærk at det ikke er denne driver der er Synaptics. Synaptics driveren erstatter heller ikke denne driver, fordi den er afhængig af at denne driver er til stede for at overhovedet kan få data fra musen. Der er tale om en slags lagkage af drivers.

De data skal X serveren bruge, så den skal vide at din mus er /dev/input/mouse0.
(Helt konkret i forhold til din hardware hedder den nok /dev/input/mouse1 - det er i alle tilfælde det der sker når jeg kobler en ekstra mus på min Ubuntu: Bemærk at det kan skifte. Får du det problem, så brug i stedet en /dev/input/by-id/ fil)

4)
Test af tastaturet/keyboardet:

Du kan lave samme test med tastaturet

Fra punkt 1d har vi:
lrwxrwxrwx 1 root root 9 2010-11-17 01:13 usb-LITEON_Technology_USB_Multimedia_Keyboard-event-kbd -> ../event2


så:

Kode: Vælg alt

sudo less -f -B /dev/input/event2

skulle gøre det.

Det gør der også.

Du ser ikke tegn - den oversættelse sker først senere. Det du ser hedder scan-codes.
Oversættelse sker ved at scan koden slås op i en tabel der passer med det tastatur layout dit tastatur har.
I tabellen finder man så det tegn som du trykker på, hvis der ellers er installeret den sprogpakke der matcher tegene for det sprog tastaturets taster har.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

jampe
Indlæg: 6
Tilmeldt: 11. nov 2010, 17:53

Re: Eksternt USB-trackpad og multitouch

Indlægaf jampe » 18. nov 2010, 02:02

Mojn :shock:

Det gjorde du meget nemt at forstå, tak for det.

Jeg stødte dog ind i en forhindring, da

Kode: Vælg alt

sudo less -f -B /dev/input/event9

ikke gav nogen data overhovedet, når jeg brugte enheden.
Jeg prøvede ved samtlige andre event og mouse-inputs, men uden at se noget som helst.

Det er virkelig fedt, at du lægger så meget i at hjælpe, Lars.
Men jeg ledte efter en løsning, der ikke krævede, at jeg selv skulle skrive direkte oversætter fra scan-codes.
Jeg skriver spilprototype nu, så den slags tid har jeg simpelthen ikke :)

lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Eksternt USB-trackpad og multitouch

Indlægaf lath » 18. nov 2010, 02:15

jampe skrev:Mojn :shock:

Det gjorde du meget nemt at forstå, tak for det.

Jeg stødte dog ind i en forhindring, da

Kode: Vælg alt

sudo less -f -B /dev/input/event9

ikke gav nogen data overhovedet, når jeg brugte enheden.
Jeg prøvede ved samtlige andre event og mouse-inputs, men uden at se noget som helst.

Det er virkelig fedt, at du lægger så meget i at hjælpe, Lars.
Men jeg ledte efter en løsning, der ikke krævede, at jeg selv skulle skrive direkte oversætter fra scan-codes.
Jeg skriver spilprototype nu, så den slags tid har jeg simpelthen ikke :)


Jeg har ikke skrevet at du skal ikke oversætte fra scan-codes. Hvor har du fået den ide fra?
Den opgave er en hovedpine for en desktoppen (GNOME hvis du kører Ubuntu), eller X input driveren for tastaturer.

Der kommer ikke noget ud?
Problemet er man skal være lidt skrap i hvordan kernen virker. Jeg er kerne-udvikler (nybegynder godt nok, men alligevel), og det er du så ikke.

Jeg har et tastatur med touchpad i kikkerten, og skal igennem det samme som dig - så jeg giver ikke sådan lige op.
Du kan besøge forum i ny og næ og vente på at jeg får min hardware op at køre - når jeg gør det vil jeg skrive en guide.
Får jeg den ikke sådan uden videre til at fungere må jeg skrive en device driver til Linux der løser det problem der måtte være - og sådan noget tager tid.

For dem der får noget ud af hardwaredriverne
Kommer der noget ud fra de 2 tests viser det bare at der er hul igennem med hardware drivers.
Når det virker skal X input driveren konfigureres. Den bruger hardware driveren.
X input driveren hedder så Synaptics.
Synaptics gør at at mus/touchpad vil virke i den grafiske desktop.

Du skal følge Synaptics guiden jeg linket til i et tidligere indlæg. man skal bruge delt hukommelse(=shared memory), når det står i guiden - det er en af metoderne i Linux IPC (Inter Process Communication).

Faktisk tror jeg at HAL stadig er inde over input-enheder, for DeviceKit folkene skrev i forgårs (16. nov 2010) noget om de lige præcis mangler noget med input. Det får mig til at konkludere at du skal bruge HAL.

Husk at starte med at installere Synaptics pakken. Genstart.

Husk også at for at du kan teste om noget virker så skal du genstarte - eller det synes jeg bestemt at det ser ud til.
Der ser ud til ikke rigtig at ske noget hvis du glemmer at genstarte.

Håber du har en ide om at det jeg har skrevet kun er begyndelsen til at få det til at virke - og helt enig - det er desværre meget op ad bakke.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags

Tilbage til "Ekstern hardware"

Hvem er online

Brugere der læser dette forum: [Bot] og 0 gæster