Skip to content

Problem with minitouch on device without touchscreen #599

@d0c3ntOS

Description

@d0c3ntOS

I need use android device without screen - tests some device. In my case Odrino C2. I think the same problem will by with Raspberry Pi, Banana Pi, Orange Pi, LattePanda etc.

When I start OpenSTF, minitouch doesn't work. Dosen't see any touchscreen and stops working.

Following I have the STF log.

[32mINF[39m/device:plugins:service 9382 [192.168.102.20:5555] Launching agent
[32mINF[39m/device:plugins:service 9382 [192.168.102.20:5555] Agent says: "Listening on @stfagent"
[32mINF[39m/device:plugins:service 9382 [192.168.102.20:5555] Launching service
[32mINF[39m/device:plugins:service 9382 [192.168.102.20:5555] Agent says: "InputClient started"
[32mINF[39m/device:plugins:display 9382 [192.168.102.20:5555] Reading display info
[32mINF[39m/provider 9311 [*] Providing 0 of 1 device(s); waiting for "192.168.102.20:5555"
[32mINF[39m/device:plugins:phone 9382 [192.168.102.20:5555] Fetching phone info
[32mINF[39m/device:plugins:identity 9382 [192.168.102.20:5555] Solving identity
[32mINF[39m/device:plugins:solo 9382 [192.168.102.20:5555] Subscribing to permanent channel "c74jdStqmG+oGQiuHsVFN5JbloI="
[32mINF[39m/device:plugins:screen:stream 9382 [192.168.102.20:5555] Starting WebSocket server on port 7400
[33mWRN[39m/device:plugins:data 9382 [192.168.102.20:5555] Unable to find device data { serial: '192.168.102.20:5555',
platform: 'Android',
manufacturer: 'HARDKERNEL CO., LTD.',
operator: null,
model: 'C2',
version: '6.0.1',
abi: 'armeabi-v7a',
sdk: '23',
product: 'odroidc2',
display:
{ id: 0,
width: 800,
height: 480,
xdpi: 160,
ydpi: 160.42100524902344,
fps: 60.000003814697266,
density: 1,
rotation: 0,
secure: true,
size: 5.8269051128633444,
url: 'ws://192.168.102.10:7400' },
phone: { network: 'UNKNOWN' } }
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] Touch origin is top left
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] Requesting touch consumer to start
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] Launching screen service
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] Connecting to minitouch service
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mice is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mouse0 is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mouse1 is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] minitouch says: "Unable to find a suitable touch device"
[33mWRN[39m/device:plugins:touch 9382 [192.168.102.20:5555] Shell keeping minitouch running ended unexpectedly
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] Disconnecting from minitouch service
[32mINF[39m/device:plugins:touch 9382 [192.168.102.20:5555] Stopping minitouch service

When I connect touchscreen (even if they doesn't works) everything works:

root@OpenSTF:~# shell dumpsys input
INPUT MANAGER (dumpsys input)

Input Manager State:

Interactive: true
System UI Visibility: 0x400
Pointer Speed: 0
Pointer Gestures Enabled: true
Show Touches: true

Event Hub State:
BuiltInKeyboardId: -2
Devices:
-1: Virtual
Classes: 0x40000023
Path:

.............

8: RPI_TOUCH By ZH851
Classes: 0x00000014
Path: /dev/input/event6
Descriptor: 9287fe304329fd54909b5ad18b1e6a777db80b26
Location: usb-dwc2_b-1.1/input0
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0003, vendor=0x0eef, product=0x0005, version=0x0200
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile: /system/usr/idc/Vendor_0eef_Product_0005.idc
HaveKeyboardLayoutOverlay: false

Input Reader State:
Device -1: Virtual
Generation: 2

.............

Device 8: RPI_TOUCH By ZH851
Generation: 25
IsExternal: false
HasMic: false
Sources: 0x0000d002
KeyboardType: 0
Motion Ranges:
X: source=0x0000d002, min=0.000, max=799.000, flat=0.000, fuzz=0.000, resolution=0.000
Y: source=0x0000d002, min=0.000, max=479.000, flat=0.000, fuzz=0.000, resolution=0.000
PRESSURE: source=0x0000d002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
Touch Input Mapper:
Parameters:
GestureMode: spots
DeviceType: touchScreen
AssociatedDisplay: hasAssociatedDisplay=true, isExternal=false
OrientationAware: true
Raw Touch Axes:
X: min=0, max=800, flat=0, fuzz=0, resolution=0
Y: min=0, max=480, 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: min=0, max=65535, flat=0, fuzz=0, resolution=0
Slot: min=0, max=4, flat=0, fuzz=0, resolution=0
Calibration:
touch.size.calibration: none
touch.pressure.calibration: none
touch.orientation.calibration: none
touch.distance.calibration: none
touch.coverage.calibration: none
Affine Transformation:
X scale: 1.000
X ymix: 0.000
X offset: 0.000
Y xmix: 0.000
Y scale: 1.000
Y offset: 0.000
Viewport: displayId=0, orientation=0, logicalFrame=[0, 0, 800, 480], physicalFrame=[0, 0, 800, 480], deviceSize=[800, 480]
SurfaceWidth: 800px
SurfaceHeight: 480px
SurfaceLeft: 0
SurfaceTop: 0
SurfaceOrientation: 0
Translation and Scaling Factors:
XTranslate: 0.000
YTranslate: 0.000
XScale: 0.999
YScale: 0.998
XPrecision: 1.001
YPrecision: 1.002
GeometricScale: 0.998
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 Raw Button State: 0x00000000
Last Raw Touch: pointerCount=0
Last Cooked Button State: 0x00000000
Last Cooked Touch: pointerCount=0
Stylus Fusion:
ExternalStylusConnected: true
External Stylus ID: -1
External Stylus Data Timeout: 9223372036854775807
External Stylus State:
When: 9223372036854775807
Pressure: 0.000000
Button State: 0x00000000
Tool Type: 0
Configuration:
ExcludedDeviceNames: []
VirtualKeyQuietTime: 0.0ms
PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000
WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000
PointerGesture:
Enabled: true
QuietInterval: 100.0ms
DragMinSwitchSpeed: 50.0px/s
TapInterval: 150.0ms
TapDragInterval: 300.0ms
TapSlop: 20.0px
MultitouchSettleInterval: 100.0ms
MultitouchMinDistance: 15.0px
SwipeTransitionAngleCosine: 0.3
SwipeMaxWidthRatio: 0.2
MovementSpeedRatio: 0.8
ZoomSpeedRatio: 0.3
Input Dispatcher State:
DispatchEnabled: 1
DispatchFrozen: 0

[32mINF[39m/device:plugins:service 9534 [192.168.102.20:5555] Launching agent
[32mINF[39m/device:plugins:service 9534 [192.168.102.20:5555] Agent says: "Listening on @stfagent"
[32mINF[39m/device:plugins:service 9534 [192.168.102.20:5555] Launching service
[32mINF[39m/device:plugins:service 9534 [192.168.102.20:5555] Agent says: "InputClient started"
[32mINF[39m/device:plugins:display 9534 [192.168.102.20:5555] Reading display info
[32mINF[39m/device:plugins:phone 9534 [192.168.102.20:5555] Fetching phone info
[32mINF[39m/provider 9463 [] Providing 0 of 1 device(s); waiting for "192.168.102.20:5555"
[32mINF[39m/device:plugins:identity 9534 [192.168.102.20:5555] Solving identity
[32mINF[39m/device:plugins:solo 9534 [192.168.102.20:5555] Subscribing to permanent channel "c74jdStqmG+oGQiuHsVFN5JbloI="
[32mINF[39m/device:plugins:screen:stream 9534 [192.168.102.20:5555] Starting WebSocket server on port 7400
[33mWRN[39m/device:plugins:data 9534 [192.168.102.20:5555] Unable to find device data { serial: '192.168.102.20:5555',
platform: 'Android',
manufacturer: 'HARDKERNEL CO., LTD.',
operator: null,
model: 'C2',
version: '6.0.1',
abi: 'armeabi-v7a',
sdk: '23',
product: 'odroidc2',
display:
{ id: 0,
width: 800,
height: 480,
xdpi: 160,
ydpi: 160.42100524902344,
fps: 60.000003814697266,
density: 1,
rotation: 0,
secure: true,
size: 5.8269051128633444,
url: 'ws://192.168.102.10:7400' },
phone: { network: 'UNKNOWN' } }
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] Touch origin is top left
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] Requesting touch consumer to start
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] Launching screen service
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] Connecting to minitouch service
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mouse2 is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mice is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mouse0 is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] minitouch says: "Note: device /dev/input/mouse1 is not supported by libevdev"
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] minitouch says: "Type B touch device RPI_TOUCH By ZH851 (800x480 with 5 contacts) detected on /dev/input/event6 (score 1100)"
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] Reading minitouch banner
[32mINF[39m/device:plugins:touch 9534 [192.168.102.20:5555] minitouch says: "Connection established"
[32mINF[39m/device:plugins:vnc 9534 [192.168.102.20:5555] Starting VNC server on port 7402
[32mINF[39m/device:plugins:browser 9534 [192.168.102.20:5555] Loading browser list
[32mINF[39m/device:plugins:browser 9534 [192.168.102.20:5555] Updating browser list
[32mINF[39m/device:plugins:mute 9534 [192.168.102.20:5555] Will not mute master volume during use
[32mINF[39m/device:plugins:forward 9534 [192.168.102.20:5555] Launching reverse port forwarding service
[32mINF[39m/device:plugins:forward 9534 [192.168.102.20:5555] Connecting to reverse port forwarding service
[32mINF[39m/device:plugins:connect 9534 [192.168.102.20:5555] Listening on port 7401
[32mINF[39m/device 9534 [192.168.102.20:5555] Fully operational
[32mINF[39m/provider 9463 [
] Providing all 1 device(s)

I plant use more then 100 devices and I can't use 100 touchscreens. I think about virtual touchscreen, but I don't have any idea how to do it. Any idea ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions