programmable C64 keyboard interceptor and hardware control system
KiCad C Assembly SourcePawn PHP C++ Other
Latest commit 36d6a9c Feb 21, 2017 @hbekel Version 1.5
Permalink
Failed to load latest commit information.
bootloader Makefiles: Removed informative calls to avr-size Dec 20, 2016
etc/udev/rules.d Software: Adjusted udev rule to use new vid/pid Dec 7, 2015
examples/map Examples: Added example for making use of the new mapping feature Oct 20, 2016
factory Version 1.4 Nov 17, 2016
firmware Firmware: Allow clearing the password, disabling locks Jan 26, 2017
hardware Hardware: Added missing button 3d model and sources Jan 26, 2017
intelhex Software: Added parsing and firmware update from intel hex files Jan 28, 2017
.gitattributes Makefile: Exclude .gitattributes from release target Oct 9, 2015
.gitignore Software: Added parsing and firmware update from intel hex files Jan 28, 2017
LICENSE Project: Now licensing under GPL3 and CERN OHL v.1.2 Nov 4, 2016
Makefile Version 1.5 Feb 21, 2017
README Software: Added parsing and firmware update from intel hex files Jan 28, 2017
config.c
config.h Software/Firmware: Added new commands memorize and recall Jan 25, 2017
example.conf
intelhex.c Software: Added parsing and firmware update from intel hex files Jan 28, 2017
intelhex.h Software: Added parsing and firmware update from intel hex files Jan 28, 2017
keyboard.h Software/Firmware: Keyboard lock/password protection Jan 21, 2017
keyman64.c Version 1.5 Feb 21, 2017
keyman64.h Version 1.5 Feb 21, 2017
protocol.h Firmware: Refactored storage for password and state, deprecated --pre… Jan 25, 2017
range.c Software: Started implementing configuration file parsing Jul 29, 2015
range.h Software: Started implementing configuration file parsing Jul 29, 2015
reverse.asm Software: Minor tweaks to asm files Nov 23, 2015
serial.asm Firmware/Software: Sanitized serial interface, implemented mappings Oct 19, 2016
serial.h
strings.c Software: Fix for building win32 exe on linux, might break cygwin bui… Sep 25, 2016
strings.h Software: Added custom symbol definitions for configuration files Jul 20, 2016
symbols.h Software/Firmware: Keyboard lock/password protection Jan 21, 2017
target.h Firmware/Software: Redesigned to execute any command via USB Oct 18, 2015
test.conf Software/Firmware: Keyboard lock/password protection Jan 21, 2017
usb.c Version 1.4 Nov 17, 2016
usb.h Version 1.4 Nov 17, 2016

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