(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.
****/