Keyboard Remapping

A project log for A DIY Keyboard

Here is a real DIY Keyboard - No microprocessors here!

agp.cooperagp.cooper 08/17/2016 at 02:540 Comments

Only 64 Keys

To start I have assumed only 64 keys (maximum) are available for the keyboard. The first key is mapped as code as 0, the last key as code 63. Here is my keyboard switch schematic with the final key mappings (n.b. keys 04, 05 and 06 will not be used):

Extracting a code from the switches without column and row scanning (which is why a microprocessor is usually used) requires some analog to digital logic (the PNP transistors in the schematic):

This is the basic keyboard schematic that will map the the key code (not the ASCII code).

The column codes are A0-2 and the row codes are A3-5.

As I am using key code "0" I need to know that a key has been pressed, this logic is added to test if a key is pressed:

Remapping keys and the Shift Key

We need to add "shift key logic" to remap the key code to ASCII codes, and to map the lower case or shift upper case logic to the keyboard.

Here is an example of decoding logic ("the basic shift") that could be used to remap keyboard codes to ASCII codes:

Problems with the Basic Shift

The basic key shift does 95% of the work needed for a practical keyboard but there are problems:

We therefore need to remap some individual key codes around.

Remapping individual keys is expensive.