]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboard.c
added USB_EXTRA feature to HHKB/V-USB
[qmk_firmware.git] / keyboard.c
index 1a025bd01b99c694c28da6cffb1d6fbed91cbd21..fd6e23042d1747e8f4fe300f3a68de097783066a 100644 (file)
@@ -1,7 +1,7 @@
 #include "keyboard.h"
 #include "host.h"
 #include "layer.h"
-#include "matrix_skel.h"
+#include "matrix.h"
 #include "led.h"
 #include "usb_keycodes.h"
 #include "timer.h"
@@ -11,6 +11,9 @@
 #ifdef MOUSEKEY_ENABLE
 #include "mousekey.h"
 #endif
+#ifdef USB_EXTRA_ENABLE
+#include <util/delay.h>
+#endif
 
 
 static uint8_t last_leds = 0;
@@ -61,29 +64,31 @@ void keyboard_proc(void)
                 fn_bits |= FN_BIT(code);
             }
 #ifdef USB_EXTRA_ENABLE
-/* TODO: use new API
             // audio control & system control
             else if (code == KB_MUTE) {
-                usb_extra_audio_send(AUDIO_MUTE);
-                usb_extra_audio_send(0);
+                host_audio_send(AUDIO_MUTE);
                 _delay_ms(500);
+                host_audio_send(0);
             } else if (code == KB_VOLU) {
-                usb_extra_audio_send(AUDIO_VOL_UP);
-                usb_extra_audio_send(0);
+                host_audio_send(AUDIO_VOL_UP);
                 _delay_ms(200);
+                host_audio_send(0);
             } else if (code == KB_VOLD) {
-                usb_extra_audio_send(AUDIO_VOL_DOWN);
-                usb_extra_audio_send(0);
+                host_audio_send(AUDIO_VOL_DOWN);
                 _delay_ms(200);
+                host_audio_send(0);
             } else if (code == KB_PWR) {
+#ifdef HOST_PJRC
                 if (suspend && remote_wakeup) {
                     usb_remote_wakeup();
                 } else {
-                    usb_extra_system_send(SYSTEM_POWER_DOWN);
+                    host_system_send(SYSTEM_POWER_DOWN);
                 }
+#else
+                host_system_send(SYSTEM_POWER_DOWN);
+#endif
                 _delay_ms(1000);
             }
-*/
 #endif
             else if (IS_KEY(code)) {
                 host_add_key(code);
@@ -102,10 +107,10 @@ void keyboard_proc(void)
     layer_switching(fn_bits);
 
     if (command_proc()) {
-        // not send report
         return;
     }
 
+    // TODO: should send only when changed from last report
     if (matrix_is_modified()) {
         host_send_keyboard_report();
 #ifdef DEBUG_LED