kinX is an umbrella term for my projects on keyboard input latency and keyboard controllers.
Its artifacts are a drop-in keyboard controller replacement for the Kinesis Advantage keyboard with <0.33ms input latency, a drop-in USB hub replacement, and a device for measuring processing latency.
Over the last few years, I worked on a few projects around keyboard input latency: In 2018, I introduced the kinX keyboard controller with 0.2ms of input latency. In 2020, I introduced the kinT keyboard controller, which works with a wide range of Teensy micro controllers, and both the old KB500 and the newer KB600 Kinesis Advantage models. Read more →
Back in 2013, I published a replacement controller for the Kinesis Advantage ergonomic keyboard. In the community, it is often referred to simply as the “stapelberg”, and became quite popular. Many people like to use the feature-rich QMK firmware, which supports my replacement controller out of the box. Read more →
The kinX project is described in a series of blog posts: While not strictly a part of this series, “Hacking your own Kinesis keyboard controller” describes the first controller I built in 2013 (maybe interesting for context). The first post introduces the kinX, a keyboard controller with merely 0. Read more →
This post is part of a series of posts about the kinX project. Background 10 years ago I got a Kinesis Advantage keyboard. I wrote about the experience of learning to touch-type using the ergonomic NEO layout in my (German) post “Neo-Layout auf einer Kinesis-Tastatur”. Read more →
This post is part of a series of posts about the kinX project. Motivation The Kinesis Advantage comes with a built-in 2-port USB hub. That hub uses a proprietary connector to interface with a PS/2 keyboard controller, so it cannot be used with a USB keyboard controller. Read more →
This post is part of a series of posts about the kinX project. Latency measurement End-to-end latency consists of 3 parts: input latency (keyboard) processing latency (computer) output latency (monitor) During the development of the kinX keyboard controller, I realized that measuring processing latency was quite simple with my hardware: I could start a timer when sending a key press HID report to the computer and measure the elapsed time when I would receive a reply from the computer. Read more →