summaryrefslogtreecommitdiff
path: root/keyboard/mbed_onekey/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/mbed_onekey/main.cpp')
-rw-r--r--keyboard/mbed_onekey/main.cpp109
1 files changed, 43 insertions, 66 deletions
diff --git a/keyboard/mbed_onekey/main.cpp b/keyboard/mbed_onekey/main.cpp
index 1df940aa97..b2f7243c85 100644
--- a/keyboard/mbed_onekey/main.cpp
+++ b/keyboard/mbed_onekey/main.cpp
@@ -1,66 +1,43 @@
-#include "mbed.h"
-#include "HIDKeyboard.h"
-#include "debug.h"
-#include "timer.h"
-
-/*
-//#define DEBUG
-#ifdef DEBUG
-Serial ser(UART_TX, UART_RX);
-#define dprintf(fmt, ...) ser.printf(fmt, ## __VA_ARGS__)
-#else
-#define dprintf(fmt, ...)
-#endif
-*/
-
-
-// button and LEDs
-DigitalIn isp(P0_1);
-DigitalOut led_red(P0_20);
-DigitalOut led_green(P0_21);
-
-//USBKeyboard
-HIDKeyboard keyboard;
-
-
-int main(void) {
- //isp.mode(PullUp);
- //led_red = 0;
- //led_green = 0;
- debug_enable = true;
- dprintf("HIDKeyboard:\r\n");
-
- timer_init();
- xprintf("timer: %i\r\n", timer_read());
-
- report_keyboard_t report = { 2, 0, 4, }; //a
- report_keyboard_t report_off = { 0 };
-
- bool last_isp = isp;
- uint32_t last_timer;
- while (1) {
- //keyboard.mediaControl(KEY_VOLUME_DOWN);
- //keyboard.printf("Hello World from Mbed\r\n");
- //keyboard.keyCode('s', KEY_CTRL);
- //keyboard.keyCode(KEY_CAPS_LOCK);
-
- //led_green = !led_green;
- //leds = keyboard.lockStatus();
- //ser.putc(ser.getc());
-
- if (last_isp == isp) continue;
- if (isp == 0) {
- led_red = 0; // on
- xprintf("timer: %i\r\n", timer_read32());
- xprintf("diff: %i\r\n", timer_elapsed32(last_timer));
- //keyboard.sendReport(report);
- } else {
- led_red = 1; // off
- //keyboard.sendReport(report_off);
- }
- last_isp = isp;
- last_timer = timer_read();
- //led_green = !led_green;
- //wait(0.5);
- }
-}
+#include "mbed.h"
+#include "debug.h"
+#include "timer.h"
+#include "action.h"
+#include "keycode.h"
+#include "host.h"
+#include "host_driver.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;
+
+ timer_init();
+ host_set_driver(&mbed_driver);
+
+ //debug_enable = true;
+ xprintf("mbed_onekey ver.eee:\r\n");
+
+
+ bool last_isp = isp;
+ while (1) {
+ //led_green = !led_green;
+ if (last_isp == isp) continue;
+ last_isp = isp;
+ if (last_isp == 0) {
+ led_red = 0; // on
+ dprintf("timer: %i\r\n", timer_read());
+ register_code(KC_A);
+ } else {
+ led_red = 1; // off
+ unregister_code(KC_A);
+ }
+ }
+}