Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint8_t buf[8] = {
- 0
- }; // Keyboard Report Buffer: 8 bytes
- #define B1 12
- #define B2 11
- #define B3 10
- #define B4 9
- #define B5 8
- #define B6 7
- //#define SERIAL_DEBUG // for serial debug: remove //
- // for actual HID: put //
- int state = 1;
- void setup()
- {
- Serial.begin(9600);
- pinMode(B1, INPUT);
- pinMode(B2, INPUT);
- pinMode(B3, INPUT);
- pinMode(B4, INPUT);
- pinMode(B5, INPUT);
- pinMode(B6, INPUT);
- // enable internal pull-ups
- digitalWrite(B1, 1);
- digitalWrite(B2, 1);
- digitalWrite(B3, 1);
- digitalWrite(B4, 1);
- digitalWrite(B5, 1);
- digitalWrite(B6, 1);
- delay(200);
- }
- //we are using hex 0xseries
- void loop()
- {
- state = digitalRead(B1);
- if (state != 1) {
- buf[2] = 0x68; // f13 or 104
- Serial.write(buf, 8); // Send keypress
- releaseKey();
- }
- state = digitalRead(B2);
- if (state != 1) {
- buf[2] = 0x69; // f14 or 105
- Serial.write(buf, 8); // Send keypress
- releaseKey();
- }
- state = digitalRead(B3);
- if (state != 1) {
- buf[2] = 0x6A; // f15 key or 106
- Serial.write(buf, 8); // Send keypress
- releaseKey();
- }
- state = digitalRead(B4);
- if (state != 1) {
- buf[2] = 0x6B; // f16 key or 107
- Serial.write(buf, 8); // Send keypress
- releaseKey();
- }
- state = digitalRead(B5);
- if (state != 1) {
- buf[2] = 0x6C; // f17 key or 108
- Serial.write(buf, 8); // Send keypress
- releaseKey();
- }
- state = digitalRead(B6);
- if (state != 1) {
- buf[2] = 0x6D; // f18 key or 109
- Serial.write(buf, 8); // Send keypress
- releaseKey();
- }
- }
- void releaseKey()
- {
- delay(200);
- buf[0] = 0;
- buf[2] = 0;
- Serial.write(buf, 8); // Release key
- }
Add Comment
Please, Sign In to add comment