IrregularInputDeviceHandler

Summary

Many armel devices come in interesting form factors, and may have a number of additional hardware buttons (commonly at least send/end), electrostatic panels, etc. Integration of an input multiplexor providing for default remapping of many of these input devices would significantly improve the perception of suitability for Ubuntu on various devices.

Release Note

Ubuntu now provides an interface to configure all the extra knobs, buttons, and switches available for your hardware.

Rationale

Lots of devices have "function" buttons, "Send/End" keys, slidewheels, maximize buttons, switch buttons, and other sorts of things not built into the standard laptop. These ought be mapped somehow, and made available for useful functions to the user.

User stories

  • Alice installs Ubuntu on her phone. She wants the nearby-group-chat button to bring up her contact list in empathy.
  • Bob installs Ubuntu on his handheld. He wants the lock-screen switch to lock the screen.
  • Chris installs Ubuntu on a set top box, and needs the remote control to work.
  • Dora's netbook has an electrostatic function bar, and she wants it to launch her favorite applications.

Assumptions

  • Every function button or similar ends up being some sort of /dev/input/ device.

Design

Needs discussion: do we want to hardcode everything we can think of into a specific keysym, and then map keysyms to functions? Do we want to provide the user with a configuration tool where they press some random key, and tell us what it does? How do we handle mapping for new devices?

Implementation

TBD

UI Changes

TBD

Code Changes

TBD

Migration

No migration is expected: users with complex custom udev rules or rich gizmod scripts can probably deal with the changes that come with a release, and the rest of the users will just notice that things now work.

Test/Demo Plan

  • Demo Ubuntu running on a Phone. Adjusting the hook switch should do something interesting (or at least generate a programmable event).

Unresolved issues

  • Detailed UI implementations (let's figure out *how* to do it, and UI can be per-flavour later)
  • Specific Device Support (let's make something generic, and then add devices to the framework)

BoF agenda and discussion

Data Collection

  • What potential buttons are there?
  • Which ones aren't defined in standard key lists?
  • How do we handle knobs and switches?
  • How can we collect significant volumes of data on common input arrangements?

Design Solutions

  • udev hinting
  • gizmod scripts
  • lircd
  • interfacing with existing keyboard shortcut tools
  • other implementation ideas

Plans for PoC

  • Which solution is best (or best two)?
  • Who has testable devices?
  • Who will prepare test scripts?
  • When can we determine if we can land something coherent for natty (compelling comes later).


CategorySpec

Specs/IrregularInputDeviceHandler (last edited 2010-10-22 21:52:33 by softbank126012031121)