Wacom soros tollas érintőképernyő HP tc4400-zal

Fórumok

Kedves fórumozók!

Nemrég vettem egy régi HP tc4400-as TabletPC-t, amolyan játszós gépnek.
Szeretném, ha minden alkatrésze rendesen működne Slackware Linux 14.0 alatt.
Az egyik legfontosabb része, amit működésre szeretnék bírni, a Wacom soros tollas érintőképernyő (penabled).

Az alábbiakban listába szedve próbálom könnyebben áttekinthetővé tenni a tudnivalókat:

  • Az alapvető funkciók működnek, kattintás/jobbkatt miegymás.
  • Az érintőképernyőhöz tartozik három "soft" gomb, amik szintén tollas érintésre működnek, illetve működnének csak, mert a gyakorlatban nem teszik.
  • A kernelheu modulként vannak leforgatva a wacom, és a wacom_w8001 kernelmodulok, de nem töltődnek be maguktól
  • Ha kézzel töltöm be őket, akkor sem írnak különösebb információt a kernellogba
  • Letöltöttem, és leforgattam a legújabb X-es drivereket a linuxwacom projekt oldaláról
  • Az
    xsetwacom list

    parancs hatására csak a stylus és az eraser eszközök jelennek meg, a gombok nem

  • Az
    xev

    kimenetében nem jelenik meg, ha a tollal a gombokat bökdösöm

  • Ki kellene találnom, hogy melyik soros port tartozik az érintőképernyőhöz, mert alapesetben nem tudom ezt pontosan
  • A fenti információt a BIOS-ban sem lehet beállítani
  • Gondolkodtam azon, hogy konzol módban megpróbálom megadni a gpm-nek a soros portokat, jelezve, hogy wacom-os eszközt keressen rajtuk, de egyikkel sem működött végül
  • Az egyik blogpostban emlegetik, hogy az érintőképernyő gombjait az xbindkeys segítségével életre lehet kelteni, viszont mindezzel nekem az a bajom, hogy ha az
    xev

    kimenetében meg sem jelenik a gombok lenyomása, akkor az xbindkeys hogyan tudna ugrani rá...

  • Próbáltam fix eszköznevet létrehozni az érintőképernyőnek az itteni leírás alapján, ami végül is létre is jött, de még nem tudtam vele sok mindent kezdeni

Várom az ötleteket, és esetleges korábbi tapasztalatokat a témában.

Hasznos linkek, amiket találtam:

Hozzászólások

Csak beleröfögök picit, xev szerintem nem mutat mindent, ezen a laposon az 'fn és a levelező gyorsgombra pl. nem reagál.
A régebbi Logitech multimedia keyboardomon sem mutatott mindent, csak miután felrakosgattam pár extra billenytyűs csomagot. Ha ahhoz a géphez jutok megnézem mik voltak. Igaz ez nem biztos hogy segít az érintőképernyőn.
--
AGA@
Fork portal és az egyik logóm :)

Nehany hardvergomb nem rendes billkombokat bocsat ki magabol, hanem valami ACPI vagy milyen eventeket, ami az eletben nem fog megjelenni az xev-ben. Legalabbis ez a multimedia billeknel igy van. Ennel a tabletnal fogalmam sincs, de nem biztos, hogy a toll bocsatja ki magabol ezeket az eventeket.

Soros portot debugolni a legegyszerubben minicommal lehet, ha van nemi elkepzelesed arrol, hogy milyen parameterekkel uzemel a toll, akkor lehet latni a bejovo eventkeket. Ilyenkor a minicom konfigjaban jelezni kell, hogy eszebe se jusson AT mondatokkal abuzalni a tollat inicializalas cimszo ala.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Köszi a tippeket. Sikerült kiderítenem pár dolgot:

  • A wacom tollas tablet a /dev/ttyS4-en lakik, 8N1 @19200 baud beállítással (uart 16550a, io port 0x0200, irq 6)
  • A wacom_w8001.ko modul betöltésekor nem történik semmi (legalábbis a logokban nem jelenik meg semmi róla)
  • A gpm-mel nem tudtam megetetni a tabletet, hiába állítottam be a 19200-as baud rátát, a wacom bemeneti eszköz típust. A logok szerint a gpm hanyattvágja magát a kapott adatoktól:
    gpm[29498] trap divide error ip:4040a1 sp:7fffbb14e7c0 error:0 in gpm[400000+15000]

    (nem ez a konkrét hibaüzenetem (pid/ip/sp), de valami ilyesmi)

  • Az X11-es driver WAf004-nek nevezi tabletet
  • Az X logja, és a topicindítóban leírtak szerint az
    xsetwacom list

    egy stylus és egy eraser eszközt is felismert. A log alapján az eraser valami fantom eszköz lehet, mert ilyen (nem eredeti, ez is csak hasonló, mint fentebb) logsorok keletkeznek vele kapcsolatban:

    [  1591.496] (WW) Serial Wacom Tablet eraser: bad data at 1 v=c7 l=9
    [  1591.506] (WW) Serial Wacom Tablet eraser: bad data at 4 v=fb l=9
  • A "soft gombok" nem a tablethez tartoznak szigorúan vett értelemben. A tablet nem küldött infót a gombok matatásáról a ttyS4-en

-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.37 | 2.6.39.3-janos

Ok, akkor már csak az a kérdés, hogy azokat az eventeket mivel tudom kidumpolni, illetve beazonosítani.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.37 | 2.6.39.3-janos

Időközben mások blogbejegyzései alapján arra jutottam, hogy Ubuntu 9.10 (x86 alatt próbáltam) alatt össze lehet hozni, hogy működjenek ezek a "HP Quicklaunch" gombok. Hogy ez miért, és hogyan lehetséges, arról egyelőre fogalmam sincs.

A következők derültek ki:

  • A Quicklaunch gombok rendre 30, 31, 32-es egérgomb(?) ID-vel rendelkeznek
  • Sikerült ezúttam az
    xv

    segítségével elkapnom a gomb lenyomását. A serial 36 az alábbiakban mit jelenthet?

    
    EnterNotify event, serial 36, synthetic NO, window 0x4200001,
        root 0xfc, subw 0x0, time 23768568, (48,45), root:(890,606),
        mode NotifyGrab, detail NotifyInferior, same_screen YES,
        focus YES, state 0
     
    KeymapNotify event, serial 36, synthetic NO, window 0x0,
        keys:  4294967292 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
               0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
     
    LeaveNotify event, serial 36, synthetic NO, window 0x4200001,
        root 0xfc, subw 0x0, time 23768568, (48,45), root:(890,606),
        mode NotifyUngrab, detail NotifyInferior, same_screen YES,
        focus YES, state 0
     
    ButtonPress event, serial 36, synthetic NO, window 0x4200001,
        root 0xfc, subw 0x4200002, time 23768568, (48,45), root:(890,606),
        state 0x0, button 31, same_screen YES
     
    EnterNotify event, serial 36, synthetic NO, window 0x4200001,
        root 0xfc, subw 0x0, time 23768568, (48,45), root:(890,606),
        mode NotifyGrab, detail NotifyInferior, same_screen YES,
        focus YES, state 0
     
    KeymapNotify event, serial 36, synthetic NO, window 0x0,
        keys:  4294967292 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
               0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  
     
    ButtonRelease event, serial 36, synthetic NO, window 0x4200001,
        root 0xfc, subw 0x4200002, time 23768568, (48,45), root:(890,606),
        state 0x0, button 31, same_screen YES
    
  • Alább látható az X log tablet szempontból lényeges része:
    
    (II) config/hal: Adding input device Wacom Serial Tablet PC Pen Tablet/Digitizer
    (II) LoadModule: "wacom"
    (II) Loading /usr/lib/xorg/modules/input//wacom_drv.so
    (II) Module wacom: vendor="X.Org Foundation"
            compiled for 1.6.4, module version = 1.0.0
            Module class: X.Org XInput Driver
            ABI class: X.Org XInput driver, version 4.0
    (II) Wacom driver level: 47-0.8.4-1 $
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer: always reports core events
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer device is /dev/ttyS1
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer is in absolute mode
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer: forcing TabletPC ISD V4 protocol
    (**) WACOM: suppress value is 2
    (**) /dev/ttyS1: Tablet PC buttons are on
    (**) Option "BaudRate" "9600"
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer: serial speed 9600
    (II) XINPUT: Adding extended input device "Wacom Serial Tablet PC Pen Tablet/Digitizer" (type: Wacom Stylus)
    (**) Option "Device" "/dev/ttyS1"
    (**) Option "StopBits" "1"
    (**) Option "DataBits" "8"
    (**) Option "Parity" "None"
    (**) Option "Vmin" "1"
    (**) Option "Vtime" "10"
    (**) Option "FlowControl" "Xoff"
    usbDetect: can not ioctl version
    (==) Wacom using pressure threshold of 15 for button 1
    (==) Wacom General ISDV4 tablet speed=9600 (19200) maxX=24780 maxY=18630 maxZ=255 resX=2540 resY=2540  tilt=disabled
    (==) Wacom device "Wacom Serial Tablet PC Pen Tablet/Digitizer" top X=0 top Y=0 bottom X=24780 bottom Y=18630 resol X=2540 resol Y=2540
    (II) config/hal: Adding input device Wacom Serial Tablet PC Pen Tablet/Digitizer eraser
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: always reports core events
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser device is /dev/ttyS1
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser is in absolute mode
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: forcing TabletPC ISD V4 protocol
    (**) WACOM: suppress value is 2
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: threshold = 15
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: max x set to 24780 by xorg.conf
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: max y set to 18630 by xorg.conf
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: max z = 255
    (**) Option "BaudRate" "9600"
    (**) Wacom Serial Tablet PC Pen Tablet/Digitizer eraser: serial speed 9600
    (II) XINPUT: Adding extended input device "Wacom Serial Tablet PC Pen Tablet/Digitizer eraser" (type: Wacom Eraser)
    (==) Wacom device "Wacom Serial Tablet PC Pen Tablet/Digitizer eraser" top X=0 top Y=0 bottom X=24780 bottom Y=18630 resol X=2540 resol Y=2540
    

-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.37 | 2.6.39.3-janos