donn/nudelta

Share your dumps!

donn opened this issue ยท 19 comments

donn commented

So, with Nudelta 0.6.7, I added a new CLI flag named --no-verify/-N. This will allow you to provide data dumps from other keyboards so I can mess around with them.

I'm looking for dumps from the following keyboards:

  • Air96
  • Halo96
  • Air60
  • Halo65

You will need terminal experience and the ability to build Nudelta from source, but the commands to run are as follows:

./nudelta -N -D win.bin -H win.hex
./nudelta -NM -D mac.bin -H mac.hex

Then I'd like you to just zip up the files and upload them.

DimaD commented

Here is a dump from my Air60

Air60-dump.zip

Can I use 0.6.7 instead of building from source?

Here is a dump from my Air60

Air60-dump.zip

Beat me to it!

donn commented

@Weathercold Nope :( I don't include CLI builds with the GUI apps.

Dump of my Halo 65:
Halo65-dump.zip
Happy Hacking (:

Hope this worked correctly, but here's my dumps for Mac Air96โ€ฆ
Air96mac.zip

I think I did this right. Air96 dumps from a Windows 10 machine.

air96_win.zip

Hey @donn , is there anything else we can do to assist?

Thanks again for the great work!

Here's the dump from the original bindings for my Air60. Taken on Windows 10. air60-win-mac-wired.zip

I've managed to swap Esc and Fn+Esc behavior (I use grave/tilde much more frequently than Escape):

Using the Windows layer:

  1. Dumped the keymap using nudelta.
  2. Used NuPhy Console to map Esc to virtual key Grave/Tilde.
  3. Noticed offset 029c changed from 00 00 00 29 to 00 00 00 35.
    Hyphothesis:
    • 029c is the offset used by physical Esc presses.
    • 00 00 00 29 represents virtual key Escape.
    • 00 00 00 35 represents virtual key Grave/Tilde.
  4. Noticed offset 035c was originally 00 00 00 35.
    Hyphothesis: If 00 00 00 35 represents virtual key Grave/Tilde, 035c is the offset used by physical Fn+Esc presses.
  5. Patched the binary file such that 029c contains 00 00 00 35 and 035c contains 00 00 00 29 (swapped their values).
  6. Patched main.cpp to bypass verification when writing binary keymaps to the keyboard with nudelta -L.
  7. Wrote the modified keymap to the keyboard.

It worked.

The only other layout changed I'm interested in is making the Fn key behave like the Air75 does in macOS mode (it triggers the virtual Globe key if nothing is combined), but I could help development if we could add support for Apple Silicon (I had to dig up my x86-64 PC for this and it was quite slow to work in :/)

Halo65-dumps.zip

I using both commands on my MacBook M2 chip,
Do I need to switch to Windows to dump both win.bin and win.hex?

donn commented

No, that's fine. Thank you all again for the dumps- I'm still extremely busy but will take a look when I get some room to breathe :(