GithubHelp home page GithubHelp logo

Comments (5)

WinkelCode avatar WinkelCode commented on June 7, 2024 1

@WinkelCode This seems promising. I'm comparing dumps from my Air75 and my Air60 and this is plausible. Can I ask you how you've made the association that the physical screenshot key for macOS is at offset 0138 (as that is the offset that contains 02 00 00 0c)?

After I figured out how this "splitting" works, it's fairly straightforward to reference these bindings back and forth. However, at the "very beginning" I found it because in the Windows keymap, it only has a single (non-split) binding to SysRq/Print Screen.

from nudelta.

donn avatar donn commented on June 7, 2024

I... forgive my confusion but I don't understand how 0240 and 0300 were derived

from nudelta.

WinkelCode avatar WinkelCode commented on June 7, 2024

I... forgive my confusion but I don't understand how 0240 and 0300 were derived

I looked at the macOS keymap and found that Meta+Shift+3 and Meta+Shift+4 are at these offsets.


Edit: One other value I tried ended up just being the FN layers for the F1 key.

I previously believed the firmware was translating the function keys into separate keymap entries depending on if the FN key is pressed.

Now I believe that the these 02 ?? ?? ?? bindings are actually responsible for all that and that every key just has one "origin" keymap entry.

Edit 2:

This chunk of empty bindings

02a4  00 00 00 00  -> none
02a8  00 00 00 00  -> none
02ac  00 00 00 00  -> none
02b0  00 00 00 00  -> none
02b4  00 00 00 00  -> none
02b8  00 00 00 00  -> none
02bc  00 00 00 00  -> none
02c0  00 00 00 00  -> none
02c4  00 00 00 00  -> none
02c8  00 00 00 00  -> none
02cc  00 00 00 00  -> none

And it's counterpart:

0364  00 00 00 00  -> none
0368  00 00 00 00  -> none
036c  00 00 00 00  -> none
0370  00 00 00 00  -> none
0374  00 00 00 00  -> none
0378  00 00 00 00  -> none
037c  00 00 00 00  -> none
0380  00 00 00 00  -> none
0384  00 00 00 00  -> none
0388  00 00 00 00  -> none
038c  00 00 00 00  -> none

Might be up for grabs as custom FN layer bindings.

It's no match for QMK, but 12 (including the original screenshot binding) open FN-layer capable slots is quite nice, and will surely be useful to folks.

from nudelta.

WinkelCode avatar WinkelCode commented on June 7, 2024

serialized_keymap_win.txt
serialized_keymap_mac.txt

I had ChatGPT "Advanced Data Analysis" whip these up for me, they are the available slots for FN-layer remapping on the Air96. The // comment is the last byte of 02 00 00 ?? for that slot. I tested it on in the Windows keymap with slots // 2D

Edit: This can also be used to trace back the origin of some keys. We may actually have more slots available than expected, for example the "G" key utilizes an FN-layer for 0E 00 00 11, which may be unused on the Air96.

from nudelta.

gabrielsoldani avatar gabrielsoldani commented on June 7, 2024

@WinkelCode This seems promising. I'm comparing dumps from my Air75 and my Air60 and this is plausible. Can I ask you how you've made the association that the physical screenshot key for macOS is at offset 0138 (as that is the offset that contains 02 00 00 0c)?

from nudelta.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.