Arduino Keyboard Protocol
This protocol senses any capacitive touch keypad with 12 buttons. Most of these keypads are controlled by an MPR121 chip. The capacitive touch keypad should be wired to a microcontroller. The microcontroller will forward the touched buttons using the following protocol.
How to build a test circuit with an MPR121 capacitive touch sensor and an Arduino Mega?
Arduino codes are included.
I. "Welcome" event from microcontroller
Example
c=welcome&id=K4e67Y&type=OzKeyboardController&pos=2&name=MyKeyboard&t=3
Parameters
Parameter | Type | Range | Functionality |
c | String | "welcome" | Identifies the welcome message. |
id | String | 6 characters (numbers, uppercase and lowercase characters) | The ID of the device which is chosen by the microcontroller. |
type | String | "OzKeyboardController" | Determines the type of the device. |
pos | Byte | 0-255 | Determines the position of the device on the list of the Arduino ID manager of the microcontroller. Please make sure there are no other devices in the same position. |
name (optional) | String | e.g. "MyKeyboard" | You can give default names for devices. |
t | Byte | 0-255 | Counts the number of events and responses sent combined. Counts from 0 to 255 then from 0 again. |
II. Commands to microcontroller
None
III. Event from microcontroller
"keycode" event
It is sent every time a button is touched. The keypad has 12 buttons (0-9, *, #).
Example
c=keycode&value=6id=K4e67Y&t=0
Parameters
Parameter | Type | Range | Functionality |
c | String | "keycode" | Identifies the event. |
value | Char | 0-9, *, # | The read keycode. |
id | String | 6 characters (numbers, uppercase and lowercase characters) | The ID of the device which is chosen by the microcontroller. |
t | Byte | 0-255 | Counts the number of events and responses sent combined. Counts from 0 to 255 then from 0 again. |
More information
- How to setup a keyboard on arduino mega
- Arduino Nano Keyboard Control Code
- How to setup a keyboard on arduino uno
- How to setup a keyboard on Ozeki matrix
- How to setup a keyboard on Raspberry Pi
- Keyboard protocol for arduino
- How to control a keyboard using chat messages
- Keyboard Desc
- Keyboard Arduino