HID touchscreen settings in android

1

I'm trying to use a different touchscreen in android. The touchscreen is connected via USB and recognized as a HID device but it does not work. Even enabling the display of positions I do not see events on the screen (wich is 1280x800). When the screen goes into standby the touch does not wake it up (but if I connect a USB mouse I can interact with the system). I can not understand what is not working. The kerner detects the device:

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 also:

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 too:

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

Android pointer show those messages:

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

The output of the dumpsys command says this:

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

Using getevent -l and touching the upper left corner I have this output:

/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

If instead I touch the lower right corner:

/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

In the input device configuration file "/system/usr/idc/Vendor_03eb_Product_214e.idc" there are those lines:

device.internal = 0

touch.deviceType = default
touch.orientationAware = 1

I hope someone can help me understand what I'm doing wrong!

Thanks in advance!

android
touchscreen
asked on Super User Apr 15, 2018 by stratotanker

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0