-#include "mbed.h"\r
-#include "HIDKeyboard.h"\r
-#include "debug.h"\r
- \r
-/*\r
-//#define DEBUG \r
-#ifdef DEBUG\r
-Serial ser(UART_TX, UART_RX);\r
-#define dprintf(fmt, ...) ser.printf(fmt, ## __VA_ARGS__)\r
-#else\r
-#define dprintf(fmt, ...)\r
-#endif\r
-*/\r
-\r
-\r
-// button and LEDs\r
-DigitalIn isp(P0_1);\r
-DigitalOut led_red(P0_20);\r
-DigitalOut led_green(P0_21);\r
-\r
-//USBKeyboard\r
-HIDKeyboard keyboard;\r
- \r
-\r
-int main(void) {\r
- //isp.mode(PullUp);\r
- //led_red = 0;\r
- //led_green = 0;\r
- debug_enable = true;\r
- dprintf("HIDKeyboard:\n");\r
- print("aaa");\r
-\r
- report_keyboard_t report = { 2, 0, 4, }; //a\r
- report_keyboard_t report_off = { 0 };\r
- while (1) {\r
- //keyboard.mediaControl(KEY_VOLUME_DOWN);\r
- //keyboard.printf("Hello World from Mbed\r\n");\r
- //keyboard.keyCode('s', KEY_CTRL);\r
- //keyboard.keyCode(KEY_CAPS_LOCK);\r
-\r
- //led_green = !led_green;\r
- //leds = keyboard.lockStatus();\r
- //ser.putc(ser.getc());\r
-\r
- if (isp == 0) {\r
- led_red = 0; // on\r
- keyboard.sendReport(report);\r
- } else {\r
- led_red = 1; // off\r
- keyboard.sendReport(report_off);\r
- }\r
- led_green = !led_green;\r
- //wait(0.5);\r
- }\r
-}\r
+#include "mbed.h"
+#include "action.h"
+#include "keycode.h"
+#include "host.h"
+#include "mbed_driver.h"
+
+
+// Button and LEDs of LPC11U35 board
+DigitalIn isp(P0_1); // ISP button
+DigitalOut led_red(P0_20);
+DigitalOut led_green(P0_21);
+
+
+int main(void) {
+ isp.mode(PullUp);
+ led_red = 1;
+ led_green = 0;
+
+ host_set_driver(&mbed_driver);
+
+ bool last_isp = isp;
+ while (1) {
+ if (last_isp == isp) continue;
+ last_isp = isp;
+ if (last_isp == 0) {
+ led_red = 0; // on
+ register_code(KC_A);
+ } else {
+ led_red = 1; // off
+ unregister_code(KC_A);
+ }
+ }
+}