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
  Yet another new Pinebook keyboard problem MikoBob 3 503 09-11-2024, 07:05 AM
Last Post: MikoBob
  HDMI or VGA From Pinebook Pro via Pinebook Pro Docking Deck? segaloco 4 2,672 05-06-2024, 09:27 AM
Last Post: KC9UDX
  Pinebook Pro on Debian 12 Power Issue u974615 1 857 03-13-2024, 10:46 AM
Last Post: u974615
  Pinebook Pro Source for Trackpad Flex / Ribbon Cable rankharris 1 801 02-17-2024, 07:06 PM
Last Post: tllim
  Pinebook Pro charging issues tomekdev 1 1,124 01-05-2024, 08:40 PM
Last Post: tomekdev
  Replacement battery for PineBook Pro DrYak 3 2,052 11-07-2023, 10:09 AM
Last Post: DrYak
  Separate ISO keyboard for PBP Besouro 0 1,046 06-04-2023, 02:51 PM
Last Post: Besouro
  PineBook Pro dead ottahe 9 7,745 01-18-2023, 07:41 PM
Last Post: ottahe
  Pinebook Pro malfunctioned hardware samtux 10 6,077 12-27-2022, 03:31 PM
Last Post: samtux
  PineBook Pro revision 2.2: Wishlist for the hardware issue fixes dsimic 115 163,067 11-30-2022, 04:28 PM
Last Post: KC9UDX

Forum Jump:


Users browsing this thread: 3 Guest(s)