diff options
Diffstat (limited to 'asciifarm/client/inputhandler.py')
| -rw-r--r-- | asciifarm/client/inputhandler.py | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/asciifarm/client/inputhandler.py b/asciifarm/client/inputhandler.py index de420c0..a4d0262 100644 --- a/asciifarm/client/inputhandler.py +++ b/asciifarm/client/inputhandler.py @@ -1,10 +1,7 @@ - -#import curses -#import curses.ascii += import string from .commandhandler import CommandHandler, InvalidCommandException -#from .keynames import nameFromKey import ratuil.inputs as inp @@ -23,7 +20,7 @@ class InputHandler: def onInput(self, key): if not self.typing: - keyName = key#nameFromKey(key) + keyName = key if keyName in self.keybindings: self.commandHandler.execute(self.keybindings[keyName]) else: @@ -61,36 +58,36 @@ class InputHandler: self.client.display.setInputString(self.string, self.cursor if self.typing else -1) def addKey(self, key): - if key in string.printable:#curses.ascii.isprint(key): + if key in string.printable: self.string = self.string[:self.cursor] + key + self.string[self.cursor:] self.cursor += 1 - elif key == inp.BACKSPACE: #== curses.KEY_BACKSPACE or key == curses.ascii.BS or key == curses.ascii.DEL: + elif key == inp.BACKSPACE: self.string = self.string[:self.cursor-1] + self.string[self.cursor:] self.cursor = max(self.cursor - 1, 0) - elif key == inp.RIGHT:#curses.KEY_RIGHT: + elif key == inp.RIGHT: self.cursor = min(self.cursor + 1, len(self.string)) - elif key == inp.LEFT:#curses.KEY_LEFT: + elif key == inp.LEFT: self.cursor = max(self.cursor - 1, 0) - elif key == inp.DELETE:#curses.KEY_DC: + elif key == inp.DELETE: self.string = self.string[:self.cursor] + self.string[self.cursor+1:] - elif key == inp.HOME:#curses.KEY_HOME: + elif key == inp.HOME: self.cursor = 0 - elif key == inp.END:#curses.KEY_END: + elif key == inp.END: self.cursor = len(self.string) - elif key == inp.ESCAPE:#curses.ascii.ESC or key == curses.KEY_DL: + elif key == inp.ESCAPE: # throw away entered string and go back to game self.typing = False self.string = "" self.cursor = 0 - elif key == inp.ENTER:#curses.ascii.LF or key == curses.ascii.CR: + elif key == inp.ENTER: # process entered string and reset it message = self.string self.string = "" self.cursor = 0 self.typing = False self.processString(message) - elif key == "^I":#curses.ascii.TAB: + elif key == "^I": # tab # return to game but keep entered string self.typing = False |
