Well, it compiled… Checking if it works…
Uhhh, actually what happens if I bork this? What is the recovery method???
Well, it compiled… Checking if it works…
Uhhh, actually what happens if I bork this? What is the recovery method???
Well it flashed, and I made sure to have a reset key on the default map.
I was able to confirm the keys worked, but I wasn’t able to configure it with vial.rocks more testing…
What OS and browser?
Did keyboard.frame.work previously work?
I had to click the button to the left of the url and click “request permissions” for https://vial.rocks/ to work
Yeah, it did. I was able to flash, and put a reset key on the default layer, no issues, all compiled no issues, worked thru all the errors, and merges, fixed my merge errors, etc.
I’m going to walk back thru the guide one more time, ensure I did everything correct.
It does compile, and it’s larger than the default, and it does work on VIA still, and with the vial application with the VIA sideload.
So, I didn’t ‘break it’, but vial didn’t work. (I know the make flags are working because I have some bad code if you don’t compile with the VIAL_ENABLE, so easy to break right now.
What does the Vial app say for About
> About [device]
?
Depends on how bad you bork it.
There is a reset function in qmk bootmagic
Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
There are also a few other ways to get into bootloader mode, most rely on the firmware to be somewhat working.
The last resort is the RP2040 BOOTSEL pin. But you’ll need a way to connect the module while pressing or shorting BOOTSEL. Input Module Developer Program
Now, I don’t actually know if Framework broke the BOOTSEL pin out, either to a small button or a pad. I don’t have a macropad and the image on framework’s site doesn’t show. It could be hidden under the stickers. Maybe you could check and let us know?
With the firmware I flashed…
keyboard.frame.work
20:59:16.104
Fetching v2 definition failed
Device: Laptop 16 RGB Macropad
Vid: 0x32AC
Pid: 0x0013
With the vial side load…
Manufacturer: Framework
Product: Laptop 16 RGB Macropad
VID: 32AC
PID: 0013
Device: b’\\?\hid#vid_32ac&pid_0013&mi_01#9&262db93d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}’
Sideloaded JSON, Vial functionality is disabled
VIA protocol: 9
Vial protocol: -1
Vial keyboard ID: -0000001
Macro entries: 16
Macro memory: 14707 bytes
Macro delays: unsupported - sideloaded keyboard
Complex (2-byte) macro keycodes: unsupported - sideloaded keyboard
Tap Dance entries: unsupported - sideloaded keyboard
Combo entries: unsupported - sideloaded keyboard
Key Override entries: unsupported - sideloaded keyboard
QMK Settings: unsupported - sideloaded keyboard
Do you have your code on a github repository?
Edit: I reread again and see that this hasn’t been successful yet. I am definitely following along now. Wanted to add this edit to save confusion.
As someone with no knowledge of how to mess with via/vial/etc
If someone has a github repo and or a guide that would be awesome. I am gonna try and re read this thread again to see if I can follow it But if anyone puts up a guide, you will be a hero.
What are you looking to do?
For Vial there is no guide because no one has ported over Framework’s changes to make working Vial firmware. Hopefully Allen_S gets it working.
For Via/qmk, if you want something that you can’t do in the Via GUI, I did make a little guide on compiling firmware. Custom QMK firmware? - #14 by MJ1
Hey MJ1,
thanks for the reply - I actually re-read and saw that Allen is basically pathfinding this for us - I thought I read he got it working. I see he is still testing. My bad on mis-reading (why I deleted my post actually - wanted to prevent confusion).
Ill check out your guide. I would like to see some better RGB options - not sure if VIAL provides any? And also better linux support as always.
I was going to try and get it working before an upload or a fork…
I spent the last hour reading thru all custom work that framework did to the driver. (I should have written it down… to enumerate here since I just spent the time doing it.)
Some Sleep tweaks, usb driver updates to account for using the keyboard in the bios, if OS is bios, force ''normal keys" so you can’t screw up too badly, Serial Number stuff, airplane mode key, etc. Some debug…
Since I’m only messing with the macropad, not the main keyboard bios, I’m tempted to ignore 99% of the changes, and try and use the macropad vanilla with vial with the make files…
I’m going to mess with it more. If I get anywhere, I’ll upload FOR SURE, but the process I followed was pretty straight forward. (The Merges weren’t bad, and only minor changes to the framework files (RGB lowercases is all)) Then just adding the ‘standard vial’ stuff where it says to add it.
Sorry, I missed that you deleted it. I must have started writing my reply before that.
What kind of RGB options? We don’t have anything like per-key RGB control through a GUI yet. You have to do it directly in qmk.
Linux support, I feel like it’s the same as windows? Except for having to fix browser permissions for Via to connect in some distros. I use qmk, Vial, and Via on linux.
No one hold your breath I’m going to figure it out… I code python 99% of the time, and I’m self taught 100% But I had a few hours to burn, and I’m not scared to try things, so I started to hack on it.
Fortunately most code looks the same, so it’s not too hard to get the gist of what code does.
I should have started with just the macropad to begin with, start small, expand as needed.
To be honest, I’d do that. If nothing else, just to see it working. And sort of as a simple starting point.
Got it… Macropad with vial…
So their serial number override had to go, but the rest stayed…
Manufacturer: Framework
Product: Laptop 16 RGB Macropad
VID: 32AC
PID: 0013
Device: b’\\?\hid#vid_32ac&pid_0013&mi_01#9&317d76af&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}’
VIA protocol: 9
Vial protocol: 6
Vial keyboard ID: 400005A587A37FD
Macro entries: 16
Macro memory: 14707 bytes
Macro delays: yes
Complex (2-byte) macro keycodes: yes
Tap Dance entries: 32
Combo entries: 32
Key Override entries: 32
QMK Settings: yes
Great to see this work being done!
I guess the next major milestone would be to successfully port onto a keyboard module, after which it should be fairly easy to account for the differences in layouts (ANSI, ISO etc)
I put a copy of the firmware I was able to use in the github repo under the release, so if anyone wants to risk it. You can see the code, nothing particularly exciting was changed, just remove the features not in the base repo, and create keyboard data for the macropad.