Android keychord driver upstreaming

Registered by Mathieu Poirier

The android keychord driver enables user space entities to register a key combo with the driver. When that key combo is recognized the application gets notified via a file handler found under /dev.

Blueprint information

Not started
John Stultz
Mathieu Poirier
Needs approval
Series goal:
Accepted for kernel-merge-window
Milestone target:
milestone icon backlog

Related branches



Roadmap id: TODO
Headline: Functionality of Android's keychord driver has been upstreamed
 * patches provide acceptable functionality (acked by some Google engineer)
 * patches have been accepted upstream (TODO: staging, mainline, specify where this goes)
 * commit URL or hash to mainline kernel has been logged here

[jakub-pavelek 2013-05-27] On low priority to don't stress Mathiew. Linked to rest of Android BPs.
[mpoirier 2013-06-13] Submitted driver to Dmitry for initial review (Jun 13th). In his opinion this kind of manipulation is better handled in userspace by way of '/dev/input/X'. I need to study what those do and see why the Android kernel team spun off a new driver.
[mpoirier 2013-06-20] Sent Arve an email asking for the choice behind going with a kernel driver rather than using the /dev/input/X interfaces. Those are provided to specifically convey input events to userspace.
[mpoirier 2013-06-24] Arve is aware of the /dev/input/X interface and mentioned that it is used in different locations throughout the code. On the flip side the keychord driver is used for a very specific performance critical part of the system. Based on this information upstreaming is probably not worth pursuing.


Work Items

Work items:
Understand all the details about the driver (May 25th): INPROGRESS
Look around in the input or misc subsystems for a driver with similar functionality (Jun 13th): DONE
Touch base with Arve and subsystem maintainer with a rough proposal of what will be done (Jun 13th): DONE
Implement and push code upstream: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.