Hi Barcamp Kochi👋

Snap Question

How many of you use here

Mechanical Keyboards?

Free your Keyboard!

Athul Cyriac Ajay

Hi, I'm

Athul

I do DevOps at Frappe
and sometimes build keyboards

Why Mechanical Keyboards?

  • The feel of typing
  • Ergonomics
  • Annoying your co-workers :p

Types of Mechanical Keyboards

  1. Usual/Row Staggered
  2. Columnar Staggered/Ortholinear
  3. Split Keyboards

What is wrong with your current mechanical keyboard?

It's hard to configure! 😢

Reality check:
Your keyboard is most probably vendor locked!!!

How can we free our keyboard?

or make it more configurable?

Build it!

or

Hack it!

Keyboard Internals

Keyboards work the way similar to Matrices

If we press down "B", the keyboard will just read the position of the B

Similarily we can built a keyboard with just

Matrixes

How can you build a Keyboard?

You will need

  1. Microcontroller(ATmega32u* or rp2040)
  2. Mechanical Swithces
  3. Keycaps
  4. Wires
  5. Soldering skills
  6. Case and Screws/Glue

There are a 2 ways to build

1. Handwiring
2. Using a PCB

Handwiring

You wire the keyboard to a microcontroller based on a matrix style of wiring the switches.

PCB

You just have to solder the switches and microcontroller and you can have a working keyboard pretty easily

And how does this free a keyboard?

The firmware/software actually makes the keyboard a lot more extensible.

The Firmware for these

can be built with

1. QMK (C)
2. ZMK (C)
3. KMK (Python)
4. Pico Ruby (Ruby)
5. Keyberon (Rust)
6. Circuitpython(Python)

QMK (GPLv3)

https://github.com/qmk/qmk_firmware

Is the defacto firmware for keyboards. QMK supports

  • Oleds
  • Encoders
  • RGB Lighting
  • And a lot more features(tap dance,combos,macros etc...)

You have to write the keymaps and functions in C to configure the keyboard

QMK also has a web+GUI solution too called Via (closed) and Vial (Open Source) for configuration

Vial: https://vial.rocks
Via: https://caniusevia.com

Learn more about Mechanical Keyboards at

r/mechanicalkeyboards

Yeah, thats all of the slides 😅

If you're more interested in Keyboards, find me somewhere here and I'll show you my keyboard collection 🙈

Find me on

  1. https://github.com/athul
  2. https://a2hu1.t.me
  3. athul[at]frappe[dot]io