Hacker News new | past | comments | ask | show | jobs | submit login

I've switched to QMK-powered keyboards and plan to stick with them. My big feature was being able to program shortcuts that I like for Chrome OS that Chrome OS doesn't allow customizing natively. Using the layer system I have "Chrome" layer and "Gnome" layer so I can use the same shortcuts on both Linux and Chrome OS. I just toggle on the right compatibility layer once at the beginning of the session.



I've recently gone off the deep end with QMK customization. I found a project [1] which allows you to send data from a host program to the keyboard controller. In [1]'s case it's used to power a secondary display on the keyboard with information like system stats and weather and stuff.

But I've been experimenting with using it for more integration with the host system. Imagine instead of having to toggle the layer yourself, you could have a small script running on the host system which could tell your keyboard the currently focused application, and your keyboard could switch layers automatically.

In my situation, I want a spare ortholinear keyboard to be used as a macro pad of sorts, but rather than just pressing a key combination I want to be able to run full commands (I have a button that opens HN in a new browser tab, one that opens a new terminal to my home directory, one that will open whatever I currently have highlighted in https://devdocs.io in a new tab, that kind of stuff).

I've also been working with trying to tie in things like the host machine's volume level to display on the keyboard display, and I tend to switch my keyboard between a windows and mac system, so I want to see if I can get it to auto-detect the OS and switch various keys around so I have a consistent experience without having to toggle anything myself.

There's so many options you can do when you open up true 2-way communication with a keyboard!

[1] https://github.com/BlankSourceCode/qmk-hid-display




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: