Behold! The completed custom keyboard:
I am very happy to have finished and delivered the completed keyboard. It took over a year.
I gave the completed keyboard to a representative of the Adapt Community Network to deliver to Shaniqua. ADAPT Community Network is the new name of the United Cerebral Palsy organization.
Since my last custom keyboard post I replaced two of the buttons and I built a stand to prop the keyboard up at an angle.
The original keyboard had two * keys, which is obviously redundant. There were some keys that would likely not get a lot of use, like ~ and ^. The keyboard was missing keys for ? and ", which Shaniqua would certainly need to use. To remedy this, I laser cut new buttons for those characters and added them to the row of buttons above the letters, replacing one of the * keys and the ^ key. I think this was a necessary improvement.
I also made a keyboard stand to hold the keyboard up at an angle. Shaniqua specifically requested that they keyboard not be flat on the table. I built an adjustable stand using adjustable leveling mounts and threaded inserts. Ben Light helped me think through the design issues to make this work. You can see the completed stand below.
I also wrote documentation explaining how to configure the action keys at the top of the keyboard and other information to help someone repair the keyboard if need-be.
The Arduino code is available online.
This project took a very long time but I am glad I stuck with it. I know that Shaniqua will like this keyboard and get good use out of it.