Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
Programmable C64 keyboard interceptor and hardware control system
The keyman64 is a programmable keyboard interceptor and hardware
control system for computers equipped with a simple 64-key matrix
It is installed between the keyboard and the computer, continually
scanning the keyboard matrix and relaying the keyboard state to the
computer using a crosspoint switch. To the computer, the crosspoint
switch matrix looks just like a physical keyboard, while the keyman64
gains the ability to intercept keystrokes and control the matrix seen
by the computer.
The keyman64 can be configured to intercept special key combinations
and invoke arbitrary sequences of commands to alter the state of
sixteen general purpose control lines provided on the board. These
lines can be used to control additional hardware instead of using
physical buttons or switches.
Additional features include the ability to send predefined keyboard
macros or to redefine the keyboard layout. Commands can also be sent
from a remote PC via USB, or send on simple serial wire interface,
allowing remote control from either a PC or another microcontroller or
similar device.
For some concrete examples of what the keyman64 can do, see the
Please refer to the project page
for detailed documentation.
Copyright 2016 Henning Bekel <>
Hardware licenced under CERN OHL v.1.2, see ./hardware/LICENSE.txt
Software and firmware licenced under GNU GPLv3, see ./LICENSE
The software contains MIT licensed code from for reading Intel HEX files, Copyright
(c) 2013-2015 Kimmo Kulovesi, see ./intelhex/LICENSE
The firmware contains the V-USB Driver (,
(C)2008 Objective Development GmbH.
Distributed in the ./bootloader directory is the USBasp bootloader,
(C)2013 Stephan Baerwolf ( and (C)2008 Objective
Development GmbH (
In compliance with the terms of the (identical) V-USB driver and
USBasp bootloader licenses (./firmware/usbdrv/License.txt and
./bootloader/License.txt), the entire project is published under
In addition, this distribution contains
- a circuit diagram in PDF format, see ./hardware/keyman64-schematics.pdf
- the full source code for the host software in ./firmware
- this README file
- references to
The USB Product and Vendor IDs for the Keyman64 USB device have kindly
been provided by OpenMoko, Inc (