diff --git a/docs/specs/Keyboard_Manager-Parser_Spec.txt b/docs/specs/Keyboard_Manager-Parser_Spec.txt index 2baf963..1014531 100644 --- a/docs/specs/Keyboard_Manager-Parser_Spec.txt +++ b/docs/specs/Keyboard_Manager-Parser_Spec.txt @@ -68,6 +68,7 @@ A token is either a modifier symbol, literal symbol, symbol sequence or space ch | Keypad Asterisk | `KPSTAR` | | Keypad Minus | `KPMINUS` | | Keypad Plus | `KPPLUS` | +| Enter | `ENTER` | ### Misc symbols diff --git a/src/keyboard_input/input_parser.cpp b/src/keyboard_input/input_parser.cpp index 83789fa..013e3bb 100644 --- a/src/keyboard_input/input_parser.cpp +++ b/src/keyboard_input/input_parser.cpp @@ -142,6 +142,10 @@ std::optional checkIfLegalCapitalLiteral( std::string input ) noexcept { return Token::KEY_KPPLUS; } + if ( input == "ENTER" ) + { + return Token::KEY_ENTER; + } // LOG incorrect character return std::nullopt; @@ -382,6 +386,8 @@ bool isLiteral( const Token token ) noexcept return true; case Token::KEY_KPPLUS: return true; + case Token::KEY_ENTER: + return true; default: return false; diff --git a/src/keyboard_input/input_parser.h b/src/keyboard_input/input_parser.h index 672c880..59b2cf9 100644 --- a/src/keyboard_input/input_parser.h +++ b/src/keyboard_input/input_parser.h @@ -76,6 +76,7 @@ enum class Token KEY_KPSTAR, KEY_KPMINUS, KEY_KPPLUS, + KEY_ENTER, // Misc tokens TOKEN_NEW_SEQUENCE, diff --git a/src/keyboard_input/input_sender_X11.cpp b/src/keyboard_input/input_sender_X11.cpp index 6c8192d..0f4e779 100644 --- a/src/keyboard_input/input_sender_X11.cpp +++ b/src/keyboard_input/input_sender_X11.cpp @@ -73,6 +73,8 @@ unsigned int tokenToKeyCode( const Token token, Display* const display ) return XK_KP_Subtract; case Token::KEY_KPPLUS: return XK_KP_Add; + case Token::KEY_ENTER: + return XK_Return; case Token::MODIFIER_CTRL: return XK_Control_L; diff --git a/src/keyboard_input/input_sender_win.cpp b/src/keyboard_input/input_sender_win.cpp index f774e10..64bc432 100644 --- a/src/keyboard_input/input_sender_win.cpp +++ b/src/keyboard_input/input_sender_win.cpp @@ -73,6 +73,8 @@ WORD convertToVirtualKeycode( const Token token ) return VK_SUBTRACT; case Token::KEY_KPPLUS: return VK_ADD; + case Token::KEY_ENTER: + return VK_RETURN; case Token::MODIFIER_CTRL: return VK_CONTROL;