tstrausb / XKeys-Library-for-Arduino

A library to allow use of an X-Keys device on an Arduino microcontroller (used in conjunction with Circuits at Home USB Host Shield 2.0)
GNU General Public License v2.0
4 stars 3 forks source link

(c) 2014 Thomas Strausbaugh See below for additional credit where credit is due!

XkeysReportParser. This is a library used to read the key reports from an XKeys device. It also allows sending of commands to the XKeys device to adjust backlighting, etc. Just sub class the XkeysReportParser class and implement the OnKeyUp or OnKeyDown methods to receive the key reports.

Supported models are XK4/8/16 Stick (including Plus/Mobile versions) and XK24/60/80/128 (including Plus/Mobile versions).

This class requires the following Arduino library:

https://github.com/felis/USB_Host_Shield_2.0

Oleg Masurov of Circuits at Home also made contributions to this library in that he made changes to his USB Host Shield Library to facilitate the development of this library.

Download the project files and place them in your Arduino libraries folder. You may need to perform the SPI hardware modification documented by Circuits at Home for the USB Host Shield depending on whether you are using other shields and what they are.

Rick Russell is the author of the library upon which this library is based. His original library can be found at:

https://github.com/macoss/XkeysRptParser

This work based on his library was created September 29th, 2014.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

/**** *KEY MAPPING FOR XKEYS DEVICES***


0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
2 10 18 26 34 42 50 58 66 74 82 90 98 106 114 122
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
3 11 19 27 35 43 51 59 67 75 83 91 99 107 115 123
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
4 12 20 28 36 44 52 60 68 76 84 92 100 108 116 124
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
5 13 21 29 37 45 53 61 69 77 85 93 101 109 117 125
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
6 14 22 30 38 46 54 62 70 78 86 94 102 110 118 126
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
7 15 23 31 39 47 55 63 71 79 87 95 103 111 119 127
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____

ORIENT YOUR DEVICE IN THE UPPER LEFT CORNER TO DETERMINE KEY LAYOUT. EXAMPLE: XK24 DOES NOT HAVE KEY 6, 7 or 32 BUT IT DOES HAVE KEYS 25 THROUGH 29!

XKEYS STICKS ARE NUMBERED SEQUENTIALLY FROM LEFT TO RIGHT STARTING WITH 0. EXAMPLE: XK-4 STICK HAS KEYS 0, 1, 2 and 3.


****/