Autopilot input device has invalid X & Y axis on maguro
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-upa |
Fix Committed
|
Critical
|
Unassigned | ||
python-ubuntu-platform-api (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Mir reports that the autopilot created input device does not support the X and Y axis, and therefore will not be usable. However, autopilot creates a device with *exactly* the same capabilities across all platforms, and this works on the mako.
To reproduce:
0) Flash a maguro:
phablet-flash ubuntu-system --channel devel-proposed
1) Enable mir on the device:
adb shell touch ~phablet/
2) Shell into the device, and switch to the phablet user. Enable extra mir logging for the input stack:
initctl set-env MIR_SERVER_
initctl set-env MIR_SERVER_
3) stop unity8:
stop unity8
4) Clear the old unity8 log:
> .cache/
5) Make sure the screen is not blanked, then start unity8:
start unity8
6) Follow the unity8 shell log:
tail -f .cache/
7) In another terminal, run 'python', and enter the following:
from autopilot.input import Touch; t = Touch.create()
8) In the unity8 log, you will see:
"""
[EE, android-input] [EventHub]could not open /dev/input/event7, Permission denied
[II, android-input] [EventHub]Retry opening device file /dev/input/event7
[EE, android-input] [EventHub]could not open /dev/input/event7, Permission denied
[II, android-input] [EventHub]Retry opening device file /dev/input/event7
[EE, android-input] [EventHub]could not open /dev/input/event7, Permission denied
[II, android-input] [EventHub]Retry opening device file /dev/input/event7
[II, android-input] [EventHub]New device: id=8, fd=77, path='/
[WW, android-input] [InputReader] Touch device 'autopilot-finger' did not report support for X or Y axis! The device will be inoperable.
[II, android-input] [InputReader]Device added: id=8, name='autopilot
"""
I'm fairly sure this is a but in mir, since evdev seems to report the correct capabilities (again, this is a python session):
>>> from evdev import InputDevice
>>> i = InputDevice(
>>> i.capabilities(
{('EV_KEY', 1L): [('BTN_
That last bit, printed nicely:
{('EV_ABS', 3L): [(('ABS_X', 0L),
('EV_KEY', 1L): [('BTN_
('EV_SYN', 0L): [('SYN_REPORT', 0L),
So it looks to me like autopilot correctly configures the device to support both absolute X and Y axis, as well as multi-touch X and Y.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Kevin DuBois (community): Approve
-
Diff: 12 lines (+1/-1)1 file modifiedupa/_mir.cpp (+1/-1)
Changed in mir: | |
assignee: | nobody → Robert Carr (robertcarr) |
importance: | Undecided → Critical |
status: | New → Confirmed |
milestone: | none → phone-v1-freeze |
no longer affects: | mir |
Changed in python-ubuntu-platform-api: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
assignee: | nobody → Thomi Richards (thomir) |
summary: |
- mir does not recognise autopilot autopilot input device on maguro + Autopilot input device has invalid X & Y axis on maguro |
Fix committed into lp:python-ubuntu-platform-api at revision 18, scheduled for release in python- ubuntu- platform- api, milestone Unknown