Pinebook Pro Revised Keyboard Firmware
#1
Hey all! 

I've been digging into the keyboard firmware recently and trying to figure out how it all works, and luckily it's been pretty straight-forward 8051 assembly. I've started writing some pseudo-code to figure out the flow and data that's being read from the memory. From all that, it's been pretty easy to tackle some of the issues people have been reporting in the forums and Github, and I've put together a "revised" version of the binaries that contain some modifications that you might enjoy:
  • Corrected Fn+F9-12 keys for ANSI (ISO version didn't have this issue)
  • Arrow (and other) keys work with the Pine (GUI) key
  • NumLock is respected only in the Fn layer, i.e. NumLock can be left on all the time
  • Privacy switches now send keycodes when being enabled/disabled, for working into scripts/notifications:
Code:
F14: Microphone Enabled
F18: Microphone Disabled
F13: Wifi Enabled
F17: Wifi Disabled
F15: Camera Enabled
F19: Camera Disabled

Check out the fork of the updater with flashing instructions here!

2020-01-31 Update: You can make your own keymaps

I've converted the revised changes into C code that allows you to actually compile things, and combine the changes with the .hex file automatically - this means you can easily create your own keymap, compile (from your PBP) and flash it to your PBP's keyboard. Both default ANSI and ISO versions have been used by community members, but I think it needs more thorough testing before it's ready for production.

Check out all of the documentation for building your own keymaps here!

These changes also fix a bug with the F3 key, adds arbitrary file flashing to the updater, along with some other changes that are documented in the PR itself.

If you have any bug reports or suggestions for other features, feel free to open an issue/PR in the repo, or discuss things here!
  Reply
#2
(01-22-2020, 03:18 PM)jackhumbert Wrote: ...
If you have any bug reports or suggestions for other features, feel free to open an issue/PR in the repo, or discuss things here!

Ask, and you shall receive. 2 new issues submitted for your consideration;

New privacy like function - Sound on / off - Pine + F9? #7
Keyboard & trackpad firmware version returned by USB #8
--
Arwen Evenstar
Princess of Rivendale
  Reply
#3
Thanks for this. Smile

Just one question - does this mean that with your keyboard firmware original privacy switches Pine+F10, Pine+F11 and Pine+F12 do not work ?
  Reply
#4
(01-23-2020, 03:09 AM)as400 Wrote: does this mean that with your keyboard firmware original privacy switches Pine+F10, Pine+F11 and Pine+F12 do not work ?

All the privacy switches should still work as intended Smile they just also send F keys so that you can be notified more clearly in the OS, or run scripts based on their status.
  Reply
#5
OK - thanks again Smile
  Reply
#6
@jackhumbert Thank you for your work ^_^

With reverse engineered keyboard and touchpad firmware we'll be one step closer to a blob free device
  Reply
#7
excellent project idea. will play with this tonight.
  Reply
#8
Well done! A very quick test of corner grabbing seems to show an improvement...I was able to grab a screen corner on the first go. Not much of a test and may be pure accident but...It looks good at quick glance. I will give more of a go this weekend. Thanks!
  Reply
#9
(01-24-2020, 12:37 PM)gabeeg Wrote: Well done! A very quick test of corner grabbing seems to show an improvement...I was able to grab a screen corner on the first go. Not much of a test and may be pure accident but...It looks good at quick glance. I will give more of a go this weekend. Thanks!

I was going to install this today or tomorrow just for the fix to the Function keys. If it's also improved the cursor that's awesome (corner grabbing is practically impossible with the trackpad, as-is, in my experience).
  Reply
#10
(01-24-2020, 01:33 PM)inkslinger Wrote: If it's also improved the cursor that's awesome (corner grabbing is practically impossible with the trackpad, as-is, in my experience).

No changes have been made to the trackpad firmware yet, so far only the keyboard firmware seems to have been revised.

Should I post an issue about the trackpad problem, or is the focus intended to be the keyboard?
  Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
Shocked New Pinebook Pro won't detect SD cards scottsweb 4 129 03-23-2020, 10:35 AM
Last Post: zaius
Exclamation Pinebook Pro Screw Sizes??? TDC_PBP 12 594 03-06-2020, 01:21 PM
Last Post: tophneal
  Pinebook Pro won't turn on codebreaker 34 2,333 02-18-2020, 08:43 PM
Last Post: Frobozz
Exclamation Firmware/Keyboard Failure on ANSI PBP Jeremiah Cornelius 1 163 02-08-2020, 06:59 PM
Last Post: bcnaz
  Pinebook Pro replacement keyboards/parts bcnaz 12 1,086 01-25-2020, 11:04 PM
Last Post: bcnaz
Information A more balanced Pinebook Pro clover 4 506 01-25-2020, 05:33 PM
Last Post: clover
  Pinebook Pro - No Audio bebop_man 11 1,348 01-22-2020, 01:03 AM
Last Post: sendas
  Pinebook Pro Accessories Ordering - Shipping appdev46 0 170 01-17-2020, 05:37 PM
Last Post: appdev46
  Touchpad, Keyboard, I2C oh my. resistanceisfutile 11 797 01-16-2020, 12:16 PM
Last Post: resistanceisfutile
  ANSI PBP Keyboard Mapping for Tilde character appdev46 3 218 01-15-2020, 05:33 AM
Last Post: bcnaz

Forum Jump:


Users browsing this thread: 1 Guest(s)