01-22-2020, 03:18 PM
(This post was last modified: 01-31-2020, 07:22 AM by jackhumbert.
Edit Reason: new lines
)
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:
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!
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!