Update: Dec 08 2016: someone's working on this project. Sorry about the late update, but feel free to pick other projects you want to work on.
Interested in hacking on some low-level stuff and implementing a feature that's useful to a lot of laptop owners out there? We have a feature on libinput's todo list but I'm just constantly losing my fight against the ever-growing todo list. So if you already know C and you're interested in playing around with some low-level bits of software this may be the project for you.
Specifically: within libinput, we want to disable certain devices based on a lid state. In the first instance this means that when the lid switch is toggled to closed, the touchpad and trackpoint get silently disabled to not send events anymore.  Since it's based on a switch state, this also means that we'll now have to listen to switch events and expose those devices to libinput users.
The things required to get all this working are:
- Designing a switch interface plus the boilerplate code required (I've done most of this bit already)
- Extending the current evdev backend to handle devices with EV_SW and exposing their events
- Hooking up the switch devices to internal touchpads/trackpoints to disable them ad-hoc
- Handle those devices where lid switch is broken in the hardware (more details on this when we get to this point)
You get to dabble with libinput and a bit of udev and the kernel. Possibly Xorg stuff, but that's unlikely at this point. This project is well suited for someone with a few spare weekends ahead. It's great for someone who hasn't worked with libinput before, but it's not a project to learn C, you better know that ahead of time. I'd provide the mentoring of course (I'm in UTC+10, so expect IRC/email). If you're interested let me know. Riches and fame may happen but are not guaranteed.
 A number of laptops have a hw issue where either device may send random events when the lid is closed
Perhaps related: some laptops (E.g. Lenovo Yoga laptops) allow the lid to be flipped behind the screen, turning the laptop into a tablet. Here you also want to disable the touchpad (doesn't currently happen). Perhaps it is the same problem just with a different event?
Post a Comment