2015-08-16 (Su) Wrist Mounted Chording Keyboard

Advanced keyboard commands, like arrow keys, delete, and return were important but non-printing characters, and characters with no glyph, are more troublesome than regular glyph characters. Before addressing this part of the program the issue of "Num Lock," "Caps Lock," and in this case "Special Lock," was fixed.

When the program only typed lower case letters a switch/case structure could route all the key presses to the desired glyph. To add the three different shift modes a switch/case structure was added to each button combination. This significantly added to the length of the program but the nested switch statements were simple repetitions and already have a line reserved for the eventual keyboard codes.

Each lock has a reserved boolean which is set high after double pressing the desired shift key. Only one bit can be set at a time. Pressing a different shift button will cancel any other lock including when the shift is pressed for the related lock. In other words, if the CapsLock is currently engaged but the number shift key is pressed the CapsLock is canceled and the next typed character will be a number.

Not final code

To do:
  • Program Arduino Micro to act as wired keyboard
    • Add advanced characters
    • Add locking keys like Caps Lock and Num Lock 
  • Make list of unused chords
    • Add macro commands
  • Add SoftwareSerial port to Micro to send ASCII data to Bluefruit.
  • Use the  SoftwareSerial port to "type" data to the USB keyboard.
  • Route incoming data to Bluefruit as well.
  • Modify servos for continuous rotation.
  • Automate wrist mount.
  • Make model and OpenSCAD code public
  • Write keyboard code

The rest of the posts for this project have been arranged by date.

First time here?

Completed projects from year 1.
Completed projects from year 2

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information in this blog, or linked by this blog, are not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.

2015-08-12 (W)