02-20-2021, 09:47 PM
While Pine64 is working on a great clamshell design keyboard, an alternative idea that's interested me for a while is the concept of a (vertical) thumb keyboard for Pinephone. That's really the ideal form-factor IMO for mobile use. Well lucky me (and us) - it turns out this is doable today.
Enter Arturo182's awesome Blackberry PMOD:
https://www.tindie.com/products/arturo18...oard-pmod/
It comes from Sweden and took about 2 weeks to arrive.
Combine that with the I2C breakout from SMR404:
https://github.com/SMR404/PinephonePogoBreakout
And you have a workable keyboard on the Pinehone today. Also the other thing to note, the BB Keyboard is the *perfect* size horizontally / fits perfectly on the Pinephone. My idea is have the software block out the LCD portion where the keyboard will sit and accept that as dead space / for stability or counterbalance. Below is my PP w/ BB keyboard prototype and a small video of where I'm at so far:
Demo video:
http://media.lrdu.org/experiments/pinephone_bbkb.webm
Obviously its not the prettiest thing what with being held together with a rubberband but it is surprisingly stable and it is already quite usable. With a 3D-printed case and the kernel module refined a bit more, this is will be perfect.
---
So I'm opening this thread as an open discussion for anyone else who also is interested in hacking on the BB keyboard in combination with the Pinephone.
My WIP kernel module for this keyboard is available at:
https://git.sr.ht/~mil/ppbbq10
Some ideas & notes / musings on progress:
- DONE: Modified arturo182's RPI kernel module to not require DTC changes and work with Pinephone's I2C
- DONE: Temporarily modified kernel module to use polling rather then interrupt for events (probably not smart.. but works)
- DONE: Implement tap-modifiers so that Ctrl/Alt/Shift can be used one-handed by tapping modifier
- DONE: Implement symbols layer that also works with tap-modifier logic
- TODO: Rework kernel module to support 3rd layer for programming symbols
- TODO: Figure out how / if interrupt via GPIO IRQ mapping is possible (without DTC updates..)
- TODO: Either figure out how to get custom underscan resolution to block out bottom 300 pixels or implement padding into Sxmo
- Trials so far with custom underscan resolution produces burn-in which lasts several days
- TODO: Find 3D printer or person with 3D printer to print a case
- TODO: PCB design a cable to go from Pogo I2C to keyboard so thing looks better put together / hidden (flex cable?)
Happy hacking,
Miles
Enter Arturo182's awesome Blackberry PMOD:
https://www.tindie.com/products/arturo18...oard-pmod/
It comes from Sweden and took about 2 weeks to arrive.
Combine that with the I2C breakout from SMR404:
https://github.com/SMR404/PinephonePogoBreakout
And you have a workable keyboard on the Pinehone today. Also the other thing to note, the BB Keyboard is the *perfect* size horizontally / fits perfectly on the Pinephone. My idea is have the software block out the LCD portion where the keyboard will sit and accept that as dead space / for stability or counterbalance. Below is my PP w/ BB keyboard prototype and a small video of where I'm at so far:
Demo video:
http://media.lrdu.org/experiments/pinephone_bbkb.webm
Obviously its not the prettiest thing what with being held together with a rubberband but it is surprisingly stable and it is already quite usable. With a 3D-printed case and the kernel module refined a bit more, this is will be perfect.
---
So I'm opening this thread as an open discussion for anyone else who also is interested in hacking on the BB keyboard in combination with the Pinephone.
My WIP kernel module for this keyboard is available at:
https://git.sr.ht/~mil/ppbbq10
Some ideas & notes / musings on progress:
- DONE: Modified arturo182's RPI kernel module to not require DTC changes and work with Pinephone's I2C
- DONE: Temporarily modified kernel module to use polling rather then interrupt for events (probably not smart.. but works)
- DONE: Implement tap-modifiers so that Ctrl/Alt/Shift can be used one-handed by tapping modifier
- DONE: Implement symbols layer that also works with tap-modifier logic
- TODO: Rework kernel module to support 3rd layer for programming symbols
- TODO: Figure out how / if interrupt via GPIO IRQ mapping is possible (without DTC updates..)
- TODO: Either figure out how to get custom underscan resolution to block out bottom 300 pixels or implement padding into Sxmo
- Trials so far with custom underscan resolution produces burn-in which lasts several days
- TODO: Find 3D printer or person with 3D printer to print a case
- TODO: PCB design a cable to go from Pogo I2C to keyboard so thing looks better put together / hidden (flex cable?)
Happy hacking,
Miles