I obtained a vintage mechanical keyboard from 1988: Consul 262.9, made by Zbrojovka Brno. It features contactless Hall-effect switches (i.e. magnet sensors detect keypresses). It uses an XT protocol, so I had to create an adapter to make it usable for me. I could probably buy some cheap ready-made adapter, but where’s the fun in that?
Time to bring out the Arduino Leonardo! This newer Arduino features a HID-USB support, so it acts as a keyboard when connected over USB. All that remains is to connect the Arduino’s GPIOs to the keyboard’s pins and write a mapping layer between the “XT-keys” and “USB-keys”. Fun fact: this actually makes the keyboard programmable!
Here is the repository with the source code: xt-keyboard-adapter