From 6b2a2b00d45325aa9300f24a2004e5a3e8c3c364 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Wed, 6 Nov 2013 13:08:45 -0500 Subject: [PATCH] constant renaming and some slight mouse improvements --- ArduinoKeyboard.h | 80 +++++++++++++++++++++++++++++++++------------ ArduinoKeyboard.ino | 49 +++++++++------------------ 2 files changed, 75 insertions(+), 54 deletions(-) diff --git a/ArduinoKeyboard.h b/ArduinoKeyboard.h index 839df2cf..bc9f1ded 100644 --- a/ArduinoKeyboard.h +++ b/ArduinoKeyboard.h @@ -27,7 +27,15 @@ typedef struct { #define SHIFT_HELD B0000100 #define GUI_HELD B0001000 #define SWITCH_TO_LAYER B0010000 -#define MOMENTARY B1000000 +#define MOMENTARY B0100000 +#define MOUSE_KEY B1000000 + + +#define MOUSE_UP B0001 +#define MOUSE_DN B0010 +#define MOUSE_L B0100 +#define MOUSE_R B1000 + #define LAYER_0 0 #define LAYER_1 1 @@ -41,33 +49,53 @@ typedef struct { #define NoKey (Key){ KEY_FLAGS,0 } -#define Key_LeftCtrl (Key){ KEY_FLAGS, KEY_LEFT_CTRL } +#define Key_LCtrl (Key){ KEY_FLAGS, KEY_LEFT_CTRL } + + + +#define mouseUpL (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_UP | MOUSE_L } +#define mouseUp (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_UP } +#define mouseUpR (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_UP | MOUSE_R } +#define mouseL (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_L } +#define mouseR (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_R } +#define mouseDnL (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_DN | MOUSE_L } +#define mouseDn (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_DN } +#define mouseDnR (Key){ KEY_FLAGS|MOUSE_KEY, MOUSE_DN | MOUSE_R } +#define mouseScrollUp +#define mouseScrollDn +#define mouseScrollL +#define mouseScrollR +#define mouseBtnL (Key){ KEY_FLAGS, KEY_LEFT_CTRL } +#define mouseBtnM (Key){ KEY_FLAGS, KEY_LEFT_CTRL } +#define mouseBtnR (Key){ KEY_FLAGS, KEY_LEFT_CTRL } + + #define KEY_LEFT_CTRL 0x80 -#define Key_LeftCtrl (Key){ KEY_FLAGS, KEY_LEFT_CTRL } +#define Key_LCtrl (Key){ KEY_FLAGS, KEY_LEFT_CTRL } #define KEY_LEFT_SHIFT 0x81 -#define Key_LeftShift (Key){ KEY_FLAGS, KEY_LEFT_SHIFT } +#define Key_LShift (Key){ KEY_FLAGS, KEY_LEFT_SHIFT } #define KEY_LEFT_ALT 0x82 -#define Key_LeftAlt (Key){ KEY_FLAGS, KEY_LEFT_ALT } +#define Key_LAlt (Key){ KEY_FLAGS, KEY_LEFT_ALT } #define KEY_LEFT_GUI 0x83 -#define Key_LeftGUI (Key){ KEY_FLAGS, KEY_LEFT_GUI } +#define Key_LGUI (Key){ KEY_FLAGS, KEY_LEFT_GUI } #define KEY_RIGHT_CTRL 0x84 -#define Key_RightCtrl (Key){ KEY_FLAGS, KEY_RIGHT_CTRL } +#define Key_RCtrl (Key){ KEY_FLAGS, KEY_RIGHT_CTRL } #define KEY_RIGHT_SHIFT 0x85 -#define Key_RightShift (Key){ KEY_FLAGS, KEY_RIGHT_SHIFT } +#define Key_RShift (Key){ KEY_FLAGS, KEY_RIGHT_SHIFT } #define KEY_RIGHT_ALT 0x86 -#define Key_RightAlt (Key){ KEY_FLAGS, KEY_RIGHT_ALT } +#define Key_RAlt (Key){ KEY_FLAGS, KEY_RIGHT_ALT } #define KEY_RIGHT_GUI 0x87 -#define Key_RightGUI (Key){ KEY_FLAGS, KEY_RIGHT_GUI } +#define Key_RGUI (Key){ KEY_FLAGS, KEY_RIGHT_GUI } #define KEY_UP_ARROW 0xDA #define Key_UpArrow (Key){ KEY_FLAGS, KEY_UP_ARROW } #define KEY_DOWN_ARROW 0xD9 -#define Key_DownArrow (Key){ KEY_FLAGS, KEY_DOWN_ARROW } +#define Key_DnArrow (Key){ KEY_FLAGS, KEY_DOWN_ARROW } #define KEY_LEFT_ARROW 0xD8 -#define Key_LeftArrow (Key){ KEY_FLAGS, KEY_LEFT_ARROW } +#define Key_LArrow (Key){ KEY_FLAGS, KEY_LEFT_ARROW } #define KEY_RIGHT_ARROW 0xD7 -#define Key_RightArrow (Key){ KEY_FLAGS, KEY_RIGHT_ARROW } +#define Key_RArrow (Key){ KEY_FLAGS, KEY_RIGHT_ARROW } #define KEY_RETURN 0xB0 #define Key_Return (Key){ KEY_FLAGS, KEY_RETURN } #define KEY_ESC 0xB1 @@ -83,7 +111,7 @@ typedef struct { #define KEY_PAGE_UP 0xD3 #define Key_PageUp (Key){ KEY_FLAGS, KEY_PAGE_UP } #define KEY_PAGE_DOWN 0xD6 -#define Key_PageDown (Key){ KEY_FLAGS, KEY_PAGE_DOWN } +#define Key_PageDn (Key){ KEY_FLAGS, KEY_PAGE_DOWN } #define KEY_HOME 0xD2 #define Key_Home (Key){ KEY_FLAGS, KEY_HOME } #define KEY_END 0xD5 @@ -199,11 +227,23 @@ typedef struct { #define KEY_EQUALS '=' #define Key_Equals (Key){ KEY_FLAGS, KEY_EQUALS } #define KEY_LEFT_BRACKET '[' -#define Key_LeftBracket (Key){ KEY_FLAGS, KEY_LEFT_BRACKET } +#define Key_LBracket (Key){ KEY_FLAGS, KEY_LEFT_BRACKET } #define KEY_RIGHT_BRACKET ']' -#define Key_RightBracket (Key){ KEY_FLAGS, KEY_RIGHT_BRACKET } +#define Key_RBracket (Key){ KEY_FLAGS, KEY_RIGHT_BRACKET } #define KEY_BACKSLASH '\\' #define Key_Backslash (Key){ KEY_FLAGS, KEY_BACKSLASH } +#define KEY_PIPE '|' +#define Key_Pipe (Key){ KEY_FLAGS, KEY_PIPE } + +#define KEY_LEFT_SQUARE_BRACKET '[' +#define Key_LSquareBracket (Key){ KEY_FLAGS, KEY_LEFT_SQUARE_BRACKET } +#define KEY_RIGHT_SQUARE_BRACKET ']' +#define Key_RSquareBracket (Key){ KEY_FLAGS, KEY_RIGHT_SQUARE_BRACKET } +#define KEY_LEFT_CURLY_BRACKET '{' +#define Key_LCurlyBracket (Key){ KEY_FLAGS, KEY_LEFT_CURLY_BRACKET } +#define KEY_RIGHT_CURLY_BRACKET '}' +#define Key_RCurlyBracket (Key){ KEY_FLAGS, KEY_RIGHT_CURLY_BRACKET } + #define KEY_SEMICOLON ';' #define Key_Semicolon (Key){ KEY_FLAGS, KEY_SEMICOLON } #define KEY_QUOTE '\'' @@ -269,14 +309,14 @@ typedef struct { #define KEY_HELP 0xfb #define Key_Help (Key){ KEY_FLAGS, KEY_HELP } #define KEY_BACKLIGHT_DOWN 0xF1 -#define Key_BacklightDown (Key){ KEY_FLAGS, KEY_BACKLIGHT_DOWN } +#define Key_BacklightDn (Key){ KEY_FLAGS, KEY_BACKLIGHT_DOWN } #define KEY_BACKLIGHT_UP 0xF2 #define Key_BacklightUp (Key){ KEY_FLAGS, KEY_BACKLIGHT_UP } #define NO_KEY false #define KEY_RIGHT_FN2 0xfe -#define Key_RightFN2 (Key){ KEY_FLAGS, KEY_RIGHT_FN2 } +#define Key_RFN2 (Key){ KEY_FLAGS, KEY_RIGHT_FN2 } #define KEY_LEFT_FN2 0xff -#define Key_LeftFN2 (Key){ KEY_FLAGS, KEY_LEFT_FN2 } +#define Key_LFN2 (Key){ KEY_FLAGS, KEY_LEFT_FN2 } /* @@ -328,7 +368,7 @@ typedef struct { #define META_NEXT_KEYMAP_MOMENTARY 0xFF -#define Key_NextKeymapMomentary (Key){ KEY_FLAGS | MOMENTARY, LAYER_1 } +#define NextKeymap (Key){ KEY_FLAGS | MOMENTARY, LAYER_1 } diff --git a/ArduinoKeyboard.ino b/ArduinoKeyboard.ino index fddd15c6..685236c0 100644 --- a/ArduinoKeyboard.ino +++ b/ArduinoKeyboard.ino @@ -24,40 +24,21 @@ static const int LAYERS = 2; int current_keymap = 0; static const Key keymaps[LAYERS][ROWS][COLS] = { - { - { - NoKey, Key_1, Key_2, Key_3, Key_4, Key_5, NoKey, NoKey, Key_6, Key_7, Key_8, Key_9, Key_0, NoKey } - , - { - Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, NoKey, NoKey, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals } - , - { - Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, Key_Tab, Key_Return, Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote } - , - { - Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Esc, Key_Return, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus } - , - { - Key_LeftGUI, Key_Backspace, Key_LeftShift, Key_LeftCtrl, Key_NextKeymapMomentary, NoKey, NoKey, NoKey, NoKey, Key_NextKeymapMomentary, Key_RightCtrl, Key_RightShift, Key_Space, Key_RightAlt } - } - , - - { - { - NoKey, Key_4, Key_2, Key_3, Key_4, Key_5, NoKey, NoKey, Key_6, Key_7, Key_8, Key_9, Key_0, NoKey } - , - { - Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, NoKey, NoKey, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals } - , - { - Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, Key_Tab, Key_Return, Key_LeftArrow,Key_DownArrow,Key_UpArrow,Key_RightArrow, Key_Semicolon, Key_Quote } - , - { - Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Esc, Key_Return, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus } - , - { - Key_LeftGUI, Key_Backspace, Key_LeftShift, Key_LeftCtrl, Key_NextKeymapMomentary, NoKey, NoKey, NoKey, NoKey, Key_NextKeymapMomentary, Key_RightCtrl, Key_RightShift, Key_Space, Key_RightAlt } - } + { + { NoKey, Key_1, Key_2, Key_3, Key_4, Key_5, NoKey, NoKey, Key_6, Key_7, Key_8, Key_9, Key_0, NoKey }, + { Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, NoKey, NoKey, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals}, + { Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G, Key_Tab, Key_Return, Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote }, + { Key_PageDn, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Esc, Key_Return, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus}, + { Key_LGUI, Key_Backspace, Key_LShift, Key_LCtrl, NextKeymap, NoKey, NoKey, NoKey, NoKey, NextKeymap, Key_RCtrl, Key_RShift, Key_Space, Key_RAlt } + }, + { + { NoKey, Key_1, Key_2, Key_3, Key_4, Key_5, NoKey, NoKey, Key_6, Key_7, Key_8, Key_9, Key_0, NoKey }, + { Key_Backtick, Key_Q, mouseBtnL, mouseBtnM, mouseBtnR, Key_T, NoKey, NoKey, Key_LCurlyBracket, Key_RCurlyBracket, Key_LSquareBracket, Key_RSquareBracket, Key_P, Key_Equals}, + { Key_PageUp, mouseL, mouseUp, mouseDn, mouseR, Key_G, Key_Tab, Key_Return, Key_LArrow, Key_DnArrow, Key_UpArrow, Key_RArrow, Key_Semicolon, Key_Quote}, + { Key_PageDn, Key_Z, mouseBtnL, mouseBtnM, mouseBtnR, Key_B, Key_Esc, Key_Return, Key_Pipe, Key_M, Key_Comma, Key_Period, Key_Backslash, Key_Minus}, + { Key_LGUI, Key_Backspace, Key_LShift, Key_LCtrl, NextKeymap, NoKey, NoKey, NoKey, NoKey, NextKeymap, Key_RCtrl, Key_RShift, Key_Space, Key_RAlt } + } + };