Project to provide keyboard replacements for various classic computers, as well as classic ASCII keyboard
Go to file
Dave ed761974e6 Modifiers cleanup
- asdf_modifiers.[ch]: Replace asdf_modifier_shiftlock_activate() with
  asdf_modifier_shiftlock_on_activate() and
  asdf_modifier_shiftlock_toggle_activate().  Instead of a configurateion
  setting for shiftlock state to switch between SHIFTLOCK locks on, SHIFT turns
  off, vs SHIFTLOCK toggles, and SHIFT turns off, create two different
  SHIFTLOCK functions, one for each behavior, and allow the keymap to bind the
  desired function.

- asdf.h: replace ACTION_SHIFTLOCK with ACTION_SHIFTLOCK_ON and
  ACTION_SHIFTLOCK_TOGGLE.

- asdf.h: move start of ACTION codes from 0x80 to 0x90, since SOL-20 uses codes
  from 0x80-0x8f.

- asdf.c: test for ACTION code using (code > ASDF_ACTION) instead of (code &
  ASDF_ACTION), since ASDF_ACTION need not be a power of 2.

- asdf_modifiers.[ch] and other files: remove
  asdf_modifiers_shiftlock_deactivate() and
  asdf_modifiers_capslock_deactivate(), and any references to these functions
  since they are null functions anyway.
2020-03-14 00:11:29 -05:00
firmware/asdf Modifiers cleanup 2020-03-14 00:11:29 -05:00
hardware Moved spare LED from caps-lock to @ (OSI shift LOCK) 2020-03-04 20:24:06 -06:00
README.md fix typo 2020-02-21 00:29:12 -06:00

README.md

Unified ASCII Keyboard

This project aims to provide a (near) universal ASCII keyboard for vintage computers. Home computers of the 1970's typically either polled a switch matrix, or interfaced to a parallel ASCII keyboard via a parallel port.

The keyboard allows use of Cherry MX keys, or Futaba MD-4PCS (aka George Risk KBM-01-01) keys.

The keyboard is designed using KiCad in order to be the most useful for anybody wishing to modify the keyboard for more specific uses, or to add to the project.

This keyboard project so far consists of:

  • A classic retro-style ASCII keyboard, modeled after the ADM-3A keyboard, which can be also be populated to fit perfectly in an Apple II/II+ case, or an OSI case.
  • A keyscan/decoder interface module that can output parallel ASCII, and can be adapted for other protocols.
  • An OSI-compatible interface module.