configurações de tela sensível ao toque HID no Android [closed]

1

Estou tentando usar uma tela sensível ao toque diferente no Android. A tela sensível ao toque é conectada via USB e reconhecida como um dispositivo HID, mas não funciona. Mesmo habilitando a exibição de posições, não vejo eventos na tela (ou seja, 1280x800). Quando a tela entra em espera, o toque não a ativa (mas, se eu conectar um mouse USB, posso interagir com o sistema). Eu não consigo entender o que não está funcionando. O kerner detecta o dispositivo:

input: HID 03eb:214e as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.3/2-1.3:1.1/input/input2

Android EventHub também:

I/EventHub( 2499): New device: id=2, fd=92, path='/dev/input/event2', name='HID 03eb:214e', classes=0x80000004, configuration='/system/usr/idc/Vendor_03eb_Product_214e.idc', keyLayout='', keyCharacterMap='', builtinKeyboard=false

Android InputReader também:

I/InputReader( 2499):   Touch device 'HID 03eb:214e' could not query the properties of its associated display.  The device will be inoperable until the display size becomes available.
...
I/InputReader( 2499): Device reconfigured: id=2, name='HID 03eb:214e', size 1280x800, orientation 0, mode 3, display id 0

O ponteiro do Android mostra essas mensagens:

I/Pointer ( 2499): Device Enumerated: Input Device 2: HID 03eb:214e
I/Pointer ( 2499):   Descriptor: b73a78ee3e94e1f7d81637579fe842568d9492f6
I/Pointer ( 2499):   Generation: 12
I/Pointer ( 2499):   Location: external
I/Pointer ( 2499):   Keyboard Type: none
I/Pointer ( 2499):   Has Vibrator: false
I/Pointer ( 2499):   Sources: 0x2002 ( mouse )
I/Pointer ( 2499):     AXIS_X: source=0x2002 min=0.0 max=1279.0 flat=0.0 fuzz=0.3125
I/Pointer ( 2499):     AXIS_Y: source=0x2002 min=0.0 max=799.0 flat=0.0 fuzz=0.1953125
I/Pointer ( 2499):     AXIS_PRESSURE: source=0x2002 min=0.0 max=1.0 flat=0.0 fuzz=0.0

A saída do comando dumpsys diz isso:

Device 2: HID 03eb:214e
Generation: 12
IsExternal: true
Sources: 0x00002002
KeyboardType: 0
Motion Ranges:
  X: source=0x00002002, min=0.000, max=1279.000, flat=0.000, fuzz=0.312
  Y: source=0x00002002, min=0.000, max=799.000, flat=0.000, fuzz=0.195
  PRESSURE: source=0x00002002, min=0.000, max=1.000, flat=0.000, fuzz=0.000
Touch Input Mapper:
  Parameters:
    GestureMode: spots
    DeviceType: pointer
    AssociatedDisplay: hasAssociatedDisplay=true, isExternal=false
    OrientationAware: true
  Raw Touch Axes:
    X: min=0, max=4095, flat=0, fuzz=0, resolution=0
    Y: min=0, max=4095, flat=0, fuzz=0, resolution=0
    Pressure: unknown range
    TouchMajor: unknown range
    TouchMinor: unknown range
    ToolMajor: unknown range
    ToolMinor: unknown range
    Orientation: unknown range
    Distance: unknown range
    TiltX: unknown range
    TiltY: unknown range
    TrackingId: unknown range
    Slot: unknown range
  Calibration:
    touch.size.calibration: none
    touch.pressure.calibration: none
    touch.orientation.calibration: none
    touch.distance.calibration: none
  Viewport: displayId=0, orientation=0, logicalFrame=[0, 0, 1280, 800], physicalFrame=[0, 0, 1280, 800], deviceSize=[1280, 800]
  SurfaceWidth: 1280px
  SurfaceHeight: 800px
  SurfaceLeft: 0
  SurfaceTop: 0
  SurfaceOrientation: 0
  Translation and Scaling Factors:
    XTranslate: 0.000
    YTranslate: 0.000
    XScale: 0.312
    YScale: 0.195
    XPrecision: 3.200
    YPrecision: 5.120
    GeometricScale: 0.254
    PressureScale: 0.000
    SizeScale: 0.000
    OrientationScale: 0.000
    DistanceScale: 0.000
    HaveTilt: false
    TiltXCenter: 0.000
    TiltXScale: 0.000
    TiltYCenter: 0.000
    TiltYScale: 0.000
  Last Button State: 0x00000000
  Last Raw Touch: pointerCount=0
  Last Cooked Touch: pointerCount=0
  Pointer Gesture Detector:
    XMovementScale: 0.208
    YMovementScale: 0.208
    XZoomScale: 0.078
    YZoomScale: 0.078
    MaxSwipeWidth: 1448.154663

Usando getevent -l e tocando no canto superior esquerdo, tenho esta saída:

/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            DOWN                
/dev/input/event2: EV_ABS       ABS_MISC             00000001            
/dev/input/event2: EV_ABS       ABS_X                0000001c            
/dev/input/event2: EV_ABS       ABS_Y                0000004a            
/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            UP                  
/dev/input/event2: EV_ABS       0029                 00000002            
/dev/input/event2: EV_ABS       002a                 00000003            
/dev/input/event2: EV_ABS       002b                 00000004            
/dev/input/event2: EV_ABS       002c                 00000005            
/dev/input/event2: EV_ABS       002d                 0000000f            
/dev/input/event2: EV_ABS       002e                 00000005            
/dev/input/event2: EV_SYN       SYN_REPORT           00000000            
/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            DOWN                
/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            UP                  
/dev/input/event2: EV_ABS       002d                 00000014            
/dev/input/event2: EV_SYN       SYN_REPORT           00000000

Se eu tocar no canto inferior direito:

/dev/input/event2: EV_MSC       MSC_SCAN             000d0042 
/dev/input/event2: EV_KEY       BTN_TOUCH            DOWN                
/dev/input/event2: EV_ABS       ABS_X                00000fb0            
/dev/input/event2: EV_ABS       ABS_Y                00000fd4            
/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            UP                  
/dev/input/event2: EV_ABS       002d                 00000050            
/dev/input/event2: EV_SYN       SYN_REPORT           00000000            
/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            DOWN                
/dev/input/event2: EV_MSC       MSC_SCAN             000d0042            
/dev/input/event2: EV_KEY       BTN_TOUCH            UP                  
/dev/input/event2: EV_ABS       002d                 00000055            
/dev/input/event2: EV_SYN       SYN_REPORT           00000000            
/dev/input/event2: EV_ABS       002d                 00000091            
/dev/input/event2: EV_SYN       SYN_REPORT           00000000

No arquivo de configuração do dispositivo de entrada "/system/usr/idc/Vendor_03eb_Product_214e.idc", há essas linhas:

device.internal = 0

touch.deviceType = default
touch.orientationAware = 1

Espero que alguém possa me ajudar a entender o que estou fazendo de errado!

Obrigado antecipadamente!

    
por stratotanker 15.04.2018 / 21:42

0 respostas