programmable C64 keyboard interceptor and hardware control system
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bootloader
completion
etc/udev/rules.d
examples/map
factory
firmware
hardware
intelhex
.gitattributes
.gitignore
Changelog
LICENSE
Makefile
Makefile.inc
README
config.c
config.h
example.conf
intelhex.c
intelhex.h
keyboard.h
keyman64.c
keyman64.h
protocol.h
range.c
range.h
reverse.asm
serial.asm
serial.h
strings.c
strings.h
symbols.h
target.h
test.asm
test.conf
usb.c
usb.h

README

Keyman64

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
keyboard.

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

http://www.henning-bekel.de/keyman64/#configuration-examples

Please refer to the project page http://www.henning-bekel.de/keyman64
for detailed documentation.

Copyright 2016 Henning Bekel <h.bekel@googlemail.com>

LICENSING

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
https://github.com/arkku/ihex for reading Intel HEX files, Copyright
(c) 2013-2015 Kimmo Kulovesi, see ./intelhex/LICENSE

The firmware contains the V-USB Driver (https://www.obdev.at/vusb),
(C)2008 Objective Development GmbH.

Distributed in the ./bootloader directory is the USBasp bootloader,
(C)2013 Stephan Baerwolf (matrixstorm@gmx.de) and (C)2008 Objective
Development GmbH (https://www.obdev.at/vusb).

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

http://www.henning-bekel.de/keyman64

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 https://www.obdev.at/vusb

The USB Product and Vendor IDs for the Keyman64 USB device have kindly
been provided by OpenMoko, Inc (http://openmoko.org).