Code cleanup
This commit is contained in:
parent
ad6359a2ad
commit
69fd50b6b7
@ -10,13 +10,11 @@
|
||||
#include <Arduino.h>
|
||||
#include <Keypad.h>
|
||||
|
||||
const uint8_t USB_LED_NUM_LOCK = 0;
|
||||
const uint8_t USB_LED_CAPS_LOCK = 1;
|
||||
const uint8_t USB_LED_SCROLL_LOCK = 2;
|
||||
const uint8_t USB_LED_CAPS_LOCK = 1; // Caps lock LED definition from HID spec
|
||||
|
||||
const uint16_t KEY_OFFSET = 0xAA00; // Offset to apply for not interfere with already defined keyboard keys
|
||||
const uint16_t KEY_FN = 1 + KEY_OFFSET; // Function layer 1 button
|
||||
const uint16_t KEY_WIN_LATCH = 2 + KEY_OFFSET; // Function layer 2 button
|
||||
const uint16_t KEY_FN = 1 + KEY_OFFSET; // Function layer button reference
|
||||
const uint16_t KEY_GUI_LATCH = 2 + KEY_OFFSET; // GUI latching (ex: Win) button reference
|
||||
|
||||
const uint8_t NBR_OF_BUTTONS = 42; // Number of buttons used (42 in this case)
|
||||
|
||||
@ -87,7 +85,7 @@ Button buttons[NBR_OF_BUTTONS] =
|
||||
/* 5 */ {KEY_R, KEY_F4, KEY_F15, IDLE, NO_KEY, false},
|
||||
/* 6 */ {KEY_T, KEY_F5, KEY_F16, IDLE, NO_KEY, false},
|
||||
/* 7 */ {KEY_Y, KEY_F6, KEY_TILDE, IDLE, NO_KEY, false},
|
||||
/* 8 */ {KEY_U, KEY_F7, KEY_WIN_LATCH, IDLE, NO_KEY, false},
|
||||
/* 8 */ {KEY_U, KEY_F7, KEY_GUI_LATCH, IDLE, NO_KEY, false},
|
||||
/* 9 */ {KEY_I, KEY_F8, KEY_LEFT_GUI, IDLE, NO_KEY, false},
|
||||
/* 10 */ {KEY_O, KEY_F9, NO_KEY, IDLE, NO_KEY, false},
|
||||
/* 11 */ {KEY_P, KEY_F10, KEY_CAPS_LOCK, IDLE, NO_KEY, false},
|
||||
@ -146,7 +144,7 @@ uint8_t set_key(uint16_t keycode, uint8_t kstate)
|
||||
{
|
||||
if (keycode == NO_KEY || keycode == KEY_FN) return 0;
|
||||
|
||||
if (keycode == KEY_WIN_LATCH)
|
||||
if (keycode == KEY_GUI_LATCH)
|
||||
{
|
||||
win_latched = true;
|
||||
return 1;
|
||||
@ -195,13 +193,14 @@ uint8_t process_keys()
|
||||
|
||||
for (int i = 0; i < MAX_SIMULTANIOUS_KEYS; i++)
|
||||
{
|
||||
/* Process key press/release */
|
||||
/* Update button table if key pressed/releaseed */
|
||||
if ((kp_keypad.key[i].kstate == PRESSED || kp_keypad.key[i].kstate == RELEASED) && (kp_keypad.key[i].stateChanged == true))
|
||||
{
|
||||
buttons[kp_keypad.key[i].kchar - 1].run_keycode = true;
|
||||
buttons[kp_keypad.key[i].kchar - 1].kstate = kp_keypad.key[i].kstate;
|
||||
}
|
||||
|
||||
/* Skip if key is not pressed */
|
||||
if (kp_keypad.key[i].kstate == IDLE || kp_keypad.key[i].kstate == RELEASED) continue;
|
||||
|
||||
/* Count number of corner keys pressed */
|
||||
@ -214,10 +213,8 @@ uint8_t process_keys()
|
||||
if (buttons[kp_keypad.key[i].kchar - 1].keycode == KEY_FN) fn_mode++;
|
||||
}
|
||||
|
||||
/* Enter bootloader if all four corner-buttons is pressed together */
|
||||
if (corner_pressed == 4)
|
||||
{
|
||||
/* Release all keys and reboot to bootloader */
|
||||
Keyboard.releaseAll();
|
||||
status_led.on();
|
||||
status_led.update();
|
||||
@ -225,16 +222,12 @@ uint8_t process_keys()
|
||||
_reboot_Teensyduino_();
|
||||
}
|
||||
|
||||
/* Execute key commands */
|
||||
for (int i = 0; i < NBR_OF_BUTTONS; i++)
|
||||
{
|
||||
/* Check if key should be processed */
|
||||
/* Check if key is ready to be set. Else skip to next button */
|
||||
if (buttons[i].run_keycode == false) continue;
|
||||
|
||||
/* Reset run_keycode flag */
|
||||
buttons[i].run_keycode = false;
|
||||
|
||||
/* Check if key pressed or released */
|
||||
if (buttons[i].kstate == RELEASED)
|
||||
{
|
||||
set_key(buttons[i].last_keycode, RELEASED);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user