Jacob Alexander [Sun, 14 Apr 2013 02:35:59 +0000 (22:35 -0400)]
Adapting the avr-capsense code to the Kiibohd Controller API
- Adding "template" keymap
- Removed "stray" functions, variables
- Cleaned up warnings
- Now builds
- Added buffered macro integration (rather than dealing with USB directly)
- Updated the print messages to use the Kiibohd print header
TODO
- Add generic matrix integration (this will require some changes to the matrix code)
- Add more comments...lots more
- Clean up dead code
Jacob Alexander [Sat, 2 Feb 2013 01:02:55 +0000 (20:02 -0500)]
CMake generated strings that configure the USB info section
- Defined Manufacturer name
- Product name now references each of the selected modules
- Serial number refers to the last commit date, branch, and whether modified since the last commit
Jacob Alexander [Fri, 1 Feb 2013 21:49:32 +0000 (16:49 -0500)]
MBC-55x support virtually complete.
- I won't do any more, as I can't make the converter fully functional on a modern computer
- Basic typing support is working
- Some of the function modes move around the ASCII values, and this takes a while to decipher and figure out the pattern; it's not hard to do, and I don't really feel like doing it
- The hard part is already done :P
Jacob Alexander [Wed, 30 Jan 2013 23:13:49 +0000 (18:13 -0500)]
Adding module compatibility check to CMake build scripts.
- All modules have a default avr compatibilty right now (since that is what they were developed on)
- As modules get tested and added, arm support has to be turned on in the respective setup.cmake file
Jacob Alexander [Sun, 27 Jan 2013 06:47:52 +0000 (01:47 -0500)]
Adding initial Teensy 3 support, compiles, but not fully functional yet.
- CDC Output seems to be working
- USB Keyboard output has not been tested, but is "ready"
- UART and Timers have not been tested, or fully utilized
- Issues using Timer 0
- Initial template for MBC-55X Scan module (only module currently compatible with the arm build)
- Updated the interface to the AVR usb module for symmetry with the ARM usb module
- Much gutting was done to the Teensy 3 usb keyboard module, though not in an ideal state yet
Jacob Alexander [Sat, 26 Jan 2013 20:05:28 +0000 (15:05 -0500)]
Preparing for Teensy 3 (ARM) integration, abstracting code hierarchy
- Abstracted USB Module
- Abstracted compiler specific includes for Scan, Macro, Debug, and USB modules
- Updated CMake build files to support changes
- Added abstractions necessary to main.c as well as a compiler specific include file
Jacob Alexander [Mon, 21 Jan 2013 03:23:28 +0000 (22:23 -0500)]
Fixing slow key issues with the FACOM converter
- Required some small API changes, shouldn't affect any other Scan modules (addition of a parameter)
- Still have the latching annoyances for some of the modifiers
- Swapped Esc and Tilde for convenience
- Removed the old Esc key from the latch list (no one needs 13 latches anyways...)
- Added the control cluster mappings (Insert, Delete, Home, End, PgUp, PgDn)
- All other misc keys are currently un-assigned if a keycap legend doesn't map to anything known
(e.g. blank keys, 000 and 00 are mapped, but your OS probably doesn't know what they mean :P)
Jacob Alexander [Mon, 21 Jan 2013 01:27:14 +0000 (20:27 -0500)]
Completed the FACOM 6684 converter...
Unfortunately, the protocol annoying, with only 3 keys having Press/Release signals.
Some of the keys were only meant to be pressed once, and do not have repeat functionality.
The current implementation is a bit slow, so some keys may get lost during USB sending.
This is probably fixable, not sure if I want to spend the time on it though.
There is a keyboard input protocol, but I'm not sure of what information can be transmitted to the keyboard.
The terminal does send some information back and forth between the keyboard, but I'm unclear of the purpose, as I can never get any response out of the keyboard.
Jacob Alexander [Mon, 19 Nov 2012 08:55:30 +0000 (00:55 -0800)]
Adding more robust detection for the HP150
- All spare cycles are used to get a more accurate data line sample (waaaay more than actually needed, but this helps against noise)
- Switched to a pre/release (add/remove) rather than an add->clear mechanism (or a buffer+debounce/add->clear)
- Note that a pull-down resistor is NEEDED on the data line
Jacob Alexander [Mon, 7 May 2012 06:32:56 +0000 (02:32 -0400)]
Adding initial version of Sony OA-S3400 converter.
- Not fully reading for usage, but 90% of the way there for typing.
- Some soldering is required for 2 keys to work properly (Shift and Shift Lock)
- Even when complete, be careful when doing multiple key combos, as the key buffer is only cleared when all general keys are released (all except Shift, Shift Lock, and Code)
Jacob Alexander [Wed, 28 Mar 2012 01:56:54 +0000 (21:56 -0400)]
Adding test macros and basic "clicker" choose support
- Better macros are still needed for the clicker
- Current macros should be separated as a sub-module
- No LEDs implement yet
- Caps Lock LED seems to be burnt out...
Jacob Alexander [Sun, 11 Dec 2011 08:06:49 +0000 (00:06 -0800)]
Finishing up the Epson QX-10 module
- Typing and modifiers fully working
- Still some features left to implement
* Stop input
* Diagnostic test
* Setting interval before starting repeat rate
* More comments
* Handling LED stats
Jacob Alexander [Sun, 11 Dec 2011 06:48:53 +0000 (22:48 -0800)]
Initial commit of the Epson QX-10 Keyboard module
- LEDs are working
- Reset command is working
- Basic typing is working (USB side drops some characters)
- Changing repeat rate is working
- Querying modifiers and LEDs is working
- Initial layouts are complete
- Modifiers are not fully working yet
Jacob Alexander [Mon, 5 Dec 2011 03:55:32 +0000 (19:55 -0800)]
Intial commit of the SonyNEWS scan module
- Keyboard output fully working
- Not all of the features are implemented yet (input, speaker, or power
detection)
- There is no plan for mouse support
Jacob Alexander [Sun, 13 Nov 2011 10:04:44 +0000 (02:04 -0800)]
Adding support for the Micro Switch 8304 Hall Effect Keyboard
- Full support (NKRO, provided the USB module can handle it)
- Full LED support (available to the macro modules per input signals)
- Reset/Hold line support
- Handles repeat rate issues (keyboard does not send key updates as most
keyboards do...)
Jacob Alexander [Thu, 3 Nov 2011 07:09:10 +0000 (00:09 -0700)]
Adding Kaypro1 functional support
- Uses USART instead of polling
- Supports two way communication (only 3 commands to the keyboard
though)
- Kaypro sends data as ASCII, which severely limits the handling of
modifiers
- No release signal is sent, so even faking modifiers is next to
impossible outside of Shift and Ctrl
- Includes default QWERTY and Colemak layouts
- Developed a new buffer macro, which will become the basic macro module
once all the other modules have been ported (much more efficient, as
it keeps serial scanning schemes serial, and parallel scanning schemes
such as matrix, that already serialized into a sort of buffer for the
debouncing evaluation)
- This module is quite efficient, and would be able to handle very
excessive macro processing in the future.
- If more of the keypboard communication protocol is desired, I have a
rom dump of the microcontroller (M5L8049)
Jacob Alexander [Tue, 1 Nov 2011 07:02:10 +0000 (00:02 -0700)]
Initial commit of the Kaypro1 scan module
- Does not output to usb yet
- USART is functionally getting characters from the keyboard and sending
beep codes and ACK request code (Baud rate properly calculated)
- Uses hard-coded keys for the PC to Keyboard commands (not desireable)
- Keyboard sends ASCII data, which makes doing things like holding
multiple keys almost impossible to detect (the board isn't NKRO
anyways, though I've found 8+ key combos that work)
Jacob Alexander [Mon, 17 Oct 2011 04:38:56 +0000 (21:38 -0700)]
Making sub-modules of matrix for HeathZenith and BudKeypad
- Parent module no longer allows for a stand-alone compile
- Added HeathZenith matrix (pinout still needs to be done)
- Updated the HeathZenith keymaps
- Changed the original example matrix.h to matrix_template.h
Jacob Alexander [Mon, 17 Oct 2011 03:08:37 +0000 (20:08 -0700)]
Adding the rest of the matrix scanning modes
- Not tested yet
- Added bug fixes for the scanCol and scanRow methods
- Merged in the powered versions of scanCol and scanRow
- Added the scanDual, but still needs heavy testing
- The scanDual uses twice the memory per key, so it can only scan half
as much compared to the other scan modes
Jacob Alexander [Sun, 16 Oct 2011 03:01:46 +0000 (20:01 -0700)]
Basic matrix module for the hall effect keypad now working.
- Includes new "table pinning" setup (much easier to understand)
- Matrix layouts will be split into their own dependent modules later
- Changed the HID Raw view id (too many teensy devices on this
computer...)
- Moved the macro processing outside of the usb timer signal
(this will be slower overall, but will result in more consistant
behaviour)
Jacob Alexander [Fri, 30 Sep 2011 05:22:19 +0000 (22:22 -0700)]
Formalizing code module structure and inheritance (Large Commit)
- Commenting cleaned up
- usb_keyboard_debug is not finished yet in terms of cleanup (needs DEBUB_PRINT #ifdef's)
- Added LoadFile script generation
- Formalized KeyIndex and USBKeys data containers
- Split parts of scan_loop into Macro, USB, and main.c
- Added interface to USB modules
- Added interface to Macro modules
- Added proper Debug module enable/disable
Jacob Alexander [Thu, 29 Sep 2011 06:25:51 +0000 (23:25 -0700)]
Reorganization for use with the CMake "Modules"
- Include option is currently "hacked" and needs to be fixed
- Builds on Linux, but Mac and Windows needs to be tested
- Loader script generation isn't complete
Jacob Alexander [Wed, 28 Sep 2011 08:47:50 +0000 (01:47 -0700)]
Finally! A CMake build script
- Mostly implements the features found in the old Makefile
- More pretty colours
- TODO list can be found at the top of the file
- Doesn't have any compiler detection yet, that may be a good idea to add
Jacob Alexander [Wed, 28 Sep 2011 04:31:59 +0000 (21:31 -0700)]
Code re-factor now compiles.
- Added better string handling and canned messages
- Added LED error function
- Moved code around
- Prepared the matrix code for multiple styles of scanning (changed at compile time)
Jacob Alexander [Thu, 10 Mar 2011 06:49:34 +0000 (22:49 -0800)]
Significant progress made.
- Only need to decode a bunch more of the matrix to get the proper key assignments
- All of the infrastructure is in place for decoding like matrices for the teensy