InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 23 C Keyboard Projects
-
I used to and still do use and recommend Barrier for sharing a mouse and clipboard and keypresses across OS's. It works for Mac, Windows, and Linux. They have a fork input-leap... it doesn't work, and there is a paid on from the same original developers called Synergy that works well too.
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization | news.ycombinator.com | 2024-08-26
Can't argue it's niche but it's far from uncommon. The BSD licensing allows usage in places allergic to the GPL so you see it (or don't) often used behind the scenes in lots of products.
...and I'm writing this comment on a Lenovo T450s running FreeBSD. Dang can probably verify the user agent of my POST, if he has nothing better to do (pretty sure he does).
The experience is not perfect (just _now_ I'm enjoying fighting with a deskhop (https://github.com/hrvach/deskhop) which isn't seen as a ums pointing device unless another usb mouse is also present, but that's the first problem in months (admittedly it's also the first change in as many months)).
-
This was amusing in a good way. I did write a few parsers in Ruby back in the day, the experience taught me that we already have the best syntax possible at our disposal, why not just lean on it. You get so much more when you don't have to leave Ruby. I find myself reaching for a DSL whenever I have to deal with a lot of less-expressive code / configuration.
I'll write generators that take a DSL as input and spit out the mountain of boring stuff. Last time was to deal with keyd's[1] homegrown syntax, which is powerful, but not expressive. I made a gist for the curious.[2]
Before finding keyd, I also took this approach with Xbindkeys config, and was on my way to wrapping Kubernetes in nice, friendly Ruby before I got canned.
1. https://github.com/rvaiya/keyd
-
Project mention: ZMK Firmware: Modern, open source keyboard firmware | news.ycombinator.com | 2024-08-14
-
Project mention: Mouseless – fast mouse control with the keyboard | news.ycombinator.com | 2024-12-12
I assume something like this https://github.com/rvaiya/warpd/?tab=readme-ov-file#grid-mod...
-
-
TOTEM
TOTEM is a 38 keys column-staggered split keyboard. It meant to be used with a SEEED XIAO BLE or RP2040
Totem
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
I agree. The fact that moving Caps Lock to Esc makes working with Vim much easier is something I realised very early on. Sometime between 2010 and 2015, I used to work often with Windows computers, so I wrote a tool for myself back then to remap Caps Lock to Esc on Windows machines:
https://github.com/susam/uncap
Of course, it was possible to do that by modifying Windows registry and I have noted those techniques too in the README available at the above link. However, Windows registry updates were not something we could enable and disable easily without rebooting the system. That's what motivated me to write the above tool. And indeed, having the Caps Lock work like Esc made using Vim a much better experience!
-
Project mention: Bluepad32 v4: A Bluetooth Controller for ESP32, ESP32-S3, ESP32-C3, and More | news.ycombinator.com | 2024-10-11
-
-
-
-
-
-
Project mention: A note on the USB-to-PS/2 mouse adapter that came with Microsoft mouse devices | news.ycombinator.com | 2025-03-27
-
-
-
Project mention: A note on the USB-to-PS/2 mouse adapter that came with Microsoft mouse devices | news.ycombinator.com | 2025-03-27
Another one is ps2x2pico. I've been using it in my retro machines and it works great. For my Logitech G305 mouse (1000hz), I have ps2x2pico configured to force a 100hz mouse polling rate so the cursor is super smooth in Windows 98 without needing to use a program like PS2Rate. For my Keychron S1 keyboard, N-key rollover works flawlessly.
https://github.com/No0ne/ps2x2pico
-
macbook12-spi-driver
Input driver for the SPI touchpad / keyboard found in the 12" MacBook (MacBook8,1 + MacBook9,1) and 2016 through 2018 Macbook Pro's (MacBookPro13,* and 14,*); a Touch Bar driver is also available. (by roadrunner2)
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C Keyboard discussion
C Keyboard related posts
-
Write an Interpreter in Ruby
-
Vim Language, Motions, and Modes Explained
-
A note on the USB-to-PS/2 mouse adapter that came with Microsoft mouse devices
-
Keyboard Layers and Home Row Modifiers
-
Show HN: I Made an Open-Source Laptop from Scratch
-
Mouseless – fast mouse control with the keyboard
-
So I made a WebRTC powered VNC client in Vue/Rust 🦀
-
A note from our sponsor - InfluxDB
www.influxdata.com | 15 May 2025
Index
What are some of the best open-source Keyboard projects in C? This list will help you:
# | Project | Stars |
---|---|---|
1 | barrier | 28,972 |
2 | deskhop | 6,995 |
3 | keyd | 3,697 |
4 | zmk | 3,273 |
5 | warpd | 3,191 |
6 | duckyPad | 1,260 |
7 | TOTEM | 1,225 |
8 | uncap | 1,088 |
9 | bluepad32 | 758 |
10 | rogauracore | 723 |
11 | EasyAVR | 537 |
12 | capsicain | 392 |
13 | qmkbuilder | 389 |
14 | gohook | 360 |
15 | HIDman | 333 |
16 | libxkbcommon | 300 |
17 | pi400kb | 294 |
18 | ps2x2pico | 295 |
19 | pheromone_keyboard | 278 |
20 | macbook12-spi-driver | 268 |
21 | modern_laptop | 249 |
22 | ESP32Berry | 225 |
23 | fak | 192 |