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)
Arduino C++
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
.gitattributes
ChangeLog.txt
README
hidxkeysrptparser.cpp
hidxkeysrptparser.h
keywords.txt
license.txt

README

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

*************************************************************************************************
************************************************************************************************/