diff options
author | tmk <nobody@nowhere> | 2011-02-08 16:03:58 +0100 |
---|---|---|
committer | tmk <nobody@nowhere> | 2011-02-21 19:08:59 +0100 |
commit | acc974c64b1e17e6807133fdc50de5bb34aedda5 (patch) | |
tree | 7af7511a56d680a4d93b535c52891a8ffc15dd04 /ps2_vusb/keyboard.c | |
parent | 5552b5afeaa9ce7432f9ded3586984253f292d80 (diff) | |
download | qmk_firmware-acc974c64b1e17e6807133fdc50de5bb34aedda5.tar.gz qmk_firmware-acc974c64b1e17e6807133fdc50de5bb34aedda5.tar.xz |
added protocol stack: pjrc, vusb
Diffstat (limited to 'ps2_vusb/keyboard.c')
-rw-r--r-- | ps2_vusb/keyboard.c | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/ps2_vusb/keyboard.c b/ps2_vusb/keyboard.c deleted file mode 100644 index c480908f8..000000000 --- a/ps2_vusb/keyboard.c +++ /dev/null @@ -1,97 +0,0 @@ -#include "usb_keycodes.h" -#include "host.h" -#include "ps2.h" -#include "usb.h" -#include "keyboard.h" -#include "print.h" - -static report_keyboard_t report0; -static report_keyboard_t report1; -static report_keyboard_t *report = &report0; -static report_keyboard_t *report_prev = &report1; - - -void keyboard_set_led(uint8_t usb_led) -{ - uint8_t ps2_led = 0; - if (usb_led & (1<<USB_LED_SCROLL_LOCK)) - ps2_led |= (1<<PS2_LED_SCROLL_LOCK); - if (usb_led & (1<<USB_LED_NUM_LOCK)) - ps2_led |= (1<<PS2_LED_NUM_LOCK); - if (usb_led & (1<<USB_LED_CAPS_LOCK)) - ps2_led |= (1<<PS2_LED_CAPS_LOCK); - print("ps2_led: "); phex(ps2_led); print("\n"); - - ps2_host_set_led(ps2_led); -} - -void keyboard_send(void) -{ - host_keyboard_send(report); -} - -bool keyboard_has_key(void) -{ - for (int i = 0; i < REPORT_KEYS; i++) { - if (report->keys[i]) - return true; - } - return false; -} - -void keyboard_add_mod(uint8_t mod) -{ - report->mods |= mod; -} - -void keyboard_add_key(uint8_t code) -{ - int8_t i = 0; - int8_t empty = -1; - for (; i < REPORT_KEYS; i++) { - if (report_prev->keys[i] == code) { - report->keys[i] = code; - break; - } - if (empty == -1 && report_prev->keys[i] == KB_NO && report->keys[i] == KB_NO) { - empty = i; - } - } - if (i == REPORT_KEYS && empty != -1) { - report->keys[empty] = code; - } -} - -void keyboard_add_code(uint8_t code) -{ - if (IS_MOD(code)) { - keyboard_add_mod(code); - } else { - keyboard_add_key(code); - } -} - -void keyboard_swap_report(void) -{ - report_keyboard_t *tmp = report_prev; - report_prev = report; - report = tmp; -} - -void keyboard_clear_report(void) -{ - report->mods = 0; - for (int8_t i = 0; i < REPORT_KEYS; i++) { - report->keys[i] = 0; - } -} - -report_keyboard_t *keyboard_report(void) -{ - return report; -} - -report_keyboard_t *keyboard_report_prev(void) -{ - return report_prev; -} |