Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cursor keys etc - you can do it yourself #23

Open
davebugithub opened this issue Oct 8, 2023 · 0 comments
Open

Cursor keys etc - you can do it yourself #23

davebugithub opened this issue Oct 8, 2023 · 0 comments

Comments

@davebugithub
Copy link

Hi,

A lot of these requests are for additional keys to be available. Well, the source code is available here, and since everyone is going to have slightly different preferences, why not do it yourself. It's a challenge, but it's not that hard, as I've just found out.

It turns out grymoire has already done most of the work for us. I had trouble when I used his branch though, so I would suggest cloning the original firmware, then applying this commit: grymoire@cb845dd - it only takes and min, and you can just apply it without understanding it, as I did.

The one thing he didn't get chance to do, was to add cursor keys. This turns out to be easier than expected. In keyboard.c, you can use KEY_JOY_LEFT, KEY_JOY_RIGHT, KEY_JOY_UP and KEY_JOY_DOWN to send the cursor keys, so this is what I've got for my first top row soft key:
case KEY_BTN_LEFT1:
if (alt) {
key = '>';
} else if (shift) {
key = '<';
} else if (control) {
key =0x1B; // ESC
} else {
key = KEY_JOY_LEFT;
}

When you're happy, change to the i2c_puppet/build directory and do...
cmake -DPICO_BOARD=bbq20kbd_breakout -DCMAKE_BUILD_TYPE=Debug ..
...then...
make

This will have generated a file called i2c_puppet.uf2 in the app subdirectory of the build directory. Then, you just need to hold down the fourth top row soft key on keyboard, plug it in, and you will see that a RPI-RP2 filesystem appears, and you just copy i2c_puppet.uf2 to the top level. The keyboard will 'reboot' itself, and you'll then have you changes available.

You don't even need a Linux machine to do this. I did it all by installing WSL on Windows 10, which again, is pretty simple.

Good luck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant