#include "config.h"
Go to the source code of this file.
Defines | |
| #define | Is_usb_report_ready() (report_ready) |
| #define | Usb_set_report_not_ready() (report_ready = 0) |
| #define | Usb_set_report_ready() (report_ready = 1) |
Functions | |
| void | sof_action (void) |
| void | kbd_test_hit (void) |
Definition in file keyboard_task.h.
| #define Is_usb_report_ready | ( | ) | (report_ready) |
Definition at line 54 of file keyboard_task.h.
| #define Usb_set_report_not_ready | ( | ) | (report_ready = 0) |
Definition at line 55 of file keyboard_task.h.
| #define Usb_set_report_ready | ( | ) | (report_ready = 1) |
Definition at line 56 of file keyboard_task.h.
| void kbd_test_hit | ( | void | ) |
Chech keyboard key hit This function scans the keyboard keys and update the scan_key word. if a key is pressed, the key_hit bit is set to TRUE.
Definition at line 182 of file keyboard_task.c.
References FALSE, Is_btn_middle, Is_joy_down, Is_joy_left, Is_joy_right, Is_joy_up, key_hit, SIZEOF_USB_KEYS, transmit_no_key, TRUE, usb_data_to_send, usb_kbd_state, usb_key, usb_key_pointer, usb_keydown, usb_keyleft, usb_keyright, usb_keys, and usb_keyup.
00183 { 00184 switch (usb_kbd_state) 00185 { 00186 case 0: 00187 if (Is_btn_middle()) 00188 { 00189 usb_kbd_state = 1; 00190 usb_key_pointer = usb_keys; 00191 usb_data_to_send = SIZEOF_USB_KEYS; 00192 } 00193 else if (Is_joy_up()) 00194 { 00195 usb_kbd_state = 1; 00196 usb_key_pointer = usb_keyup; 00197 usb_data_to_send = (Uint16)sizeof(usb_keyup); 00198 } 00199 else if (Is_joy_down()) 00200 { 00201 usb_kbd_state = 1; 00202 usb_key_pointer = usb_keydown; 00203 usb_data_to_send = (Uint16)sizeof(usb_keydown); 00204 } 00205 else if (Is_joy_right()) 00206 { 00207 usb_kbd_state = 1; 00208 usb_key_pointer = usb_keyright; 00209 usb_data_to_send = (Uint16)sizeof(usb_keyright); 00210 } 00211 else if (Is_joy_left()) 00212 { 00213 usb_kbd_state = 1; 00214 usb_key_pointer = usb_keyleft; 00215 usb_data_to_send = (Uint16)sizeof(usb_keyleft); 00216 } 00217 00218 break; 00219 00220 case 1: 00221 if (usb_data_to_send != 0) 00222 { 00223 if ((key_hit == FALSE) && (transmit_no_key == FALSE)) 00224 { 00225 #ifndef __GNUC__ 00226 usb_key = *usb_key_pointer++; 00227 #else 00228 usb_key = pgm_read_byte_near(usb_key_pointer++); 00229 #endif 00230 usb_data_to_send --; 00231 key_hit = TRUE; 00232 } 00233 } 00234 else 00235 { 00236 usb_kbd_state = 0; 00237 } 00238 break; 00239 } 00240 }
1.5.3