

Definition at line 13 of file ConsoleInput.h.
Public Member Functions | |
| ConsoleInput (KeyConsole *console) | |
Protected Member Functions | |
| virtual void | enableConsole () |
| Toggle console. | |
| virtual void | enableSubtitles () |
| virtual void | specStroke (const KeyStroke &stroke) |
| virtual void | specKey (int keyIndex) |
|
|
Definition at line 21 of file ConsoleInput.cpp. 00022 : StateInput(console) 00023 { 00024 KeyDesc key_history(KEY_HISTORY, "input history"); 00025 KeyDesc key_backspace(KEY_BACKSPACE, "backspace"); 00026 KeyDesc key_clear(KEY_CLEAR, "clear"); 00027 KeyDesc key_enter(KEY_ENTER, "enter"); 00028 00029 m_keymap->registerKey(KeyStroke(SDLK_UP, KMOD_NONE), key_history); 00030 m_keymap->registerKey(KeyStroke(SDLK_BACKSPACE, KMOD_NONE), key_backspace); 00031 m_keymap->registerKey(KeyStroke(SDLK_u, KMOD_LCTRL), key_clear); 00032 m_keymap->registerKey(KeyStroke(SDLK_u, KMOD_RCTRL), key_clear); 00033 m_keymap->registerKey(KeyStroke(SDLK_RETURN, KMOD_NONE), key_enter); 00034 }
|
|
|
Toggle console.
Reimplemented from StateInput. Definition at line 46 of file ConsoleInput.cpp. 00047 {
00048 quitState();
00049 }
|
|
|
Reimplemented from StateInput. Definition at line 22 of file ConsoleInput.h. 00022 {}
|
|
|
Reimplemented from StateInput. Definition at line 52 of file ConsoleInput.cpp. 00053 {
00054 //TODO: simulate key repeat in console
00055 switch (keyIndex) {
00056 case KEY_HISTORY:
00057 getConsole()->setInput(m_history);
00058 break;
00059 case KEY_BACKSPACE:
00060 {
00061 std::string input = getConsole()->getInput();
00062 if (!input.empty()) {
00063 input.erase(input.end() - 1);
00064 getConsole()->setInput(input);
00065 }
00066 }
00067 break;
00068 case KEY_CLEAR:
00069 getConsole()->setInput("");
00070 break;
00071 case KEY_ENTER:
00072 {
00073 std::string input = getConsole()->getInput();
00074 if (!input.empty()) {
00075 if (getConsole()->sendCommand()) {
00076 m_history = input;
00077 getConsole()->setInput("");
00078 }
00079 }
00080 else {
00081 quitState();
00082 }
00083 }
00084 break;
00085 default:
00086 StateInput::specKey(keyIndex);
00087 break;
00088 }
00089 }
|
|
|
Reimplemented from StateInput. Definition at line 92 of file ConsoleInput.cpp. 00093 {
00094 //TODO: support UTF-8
00095 char c = stroke.getUnicode() & 0x7F;
00096 if (isprint(c)) {
00097 std::string input = getConsole()->getInput();
00098 input.push_back(c);
00099 getConsole()->setInput(input);
00100 }
00101 }
|
1.4.2