diff options
| author | troido <troido@protonmail.com> | 2019-09-18 00:32:35 +0200 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2019-09-18 00:32:35 +0200 |
| commit | 64a5b6d7c732ed108e5705cbbb41b0addd18b510 (patch) | |
| tree | 8f10440be617497acceb73c9cb919804547c79c8 /asciifarm/client/inputhandler.py | |
| parent | a0e86c082e8565a48ef14319ee3197abb71e533f (diff) | |
switched curses to ratuil
Diffstat (limited to 'asciifarm/client/inputhandler.py')
| -rw-r--r-- | asciifarm/client/inputhandler.py | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/asciifarm/client/inputhandler.py b/asciifarm/client/inputhandler.py index 2d038d2..de420c0 100644 --- a/asciifarm/client/inputhandler.py +++ b/asciifarm/client/inputhandler.py @@ -1,9 +1,12 @@ -import curses -import curses.ascii +#import curses +#import curses.ascii +import string from .commandhandler import CommandHandler, InvalidCommandException -from .keynames import nameFromKey +#from .keynames import nameFromKey + +import ratuil.inputs as inp class InputHandler: @@ -20,7 +23,7 @@ class InputHandler: def onInput(self, key): if not self.typing: - keyName = nameFromKey(key) + keyName = key#nameFromKey(key) if keyName in self.keybindings: self.commandHandler.execute(self.keybindings[keyName]) else: @@ -58,36 +61,36 @@ class InputHandler: self.client.display.setInputString(self.string, self.cursor if self.typing else -1) def addKey(self, key): - if curses.ascii.isprint(key): - self.string = self.string[:self.cursor] + chr(key) + self.string[self.cursor:] + if key in string.printable:#curses.ascii.isprint(key): + self.string = self.string[:self.cursor] + key + self.string[self.cursor:] self.cursor += 1 - elif key == curses.KEY_BACKSPACE or key == curses.ascii.BS or key == curses.ascii.DEL: + elif key == inp.BACKSPACE: #== curses.KEY_BACKSPACE or key == curses.ascii.BS or key == curses.ascii.DEL: self.string = self.string[:self.cursor-1] + self.string[self.cursor:] self.cursor = max(self.cursor - 1, 0) - elif key == curses.KEY_RIGHT: + elif key == inp.RIGHT:#curses.KEY_RIGHT: self.cursor = min(self.cursor + 1, len(self.string)) - elif key == curses.KEY_LEFT: + elif key == inp.LEFT:#curses.KEY_LEFT: self.cursor = max(self.cursor - 1, 0) - elif key == curses.KEY_DC: + elif key == inp.DELETE:#curses.KEY_DC: self.string = self.string[:self.cursor] + self.string[self.cursor+1:] - elif key == curses.KEY_HOME: + elif key == inp.HOME:#curses.KEY_HOME: self.cursor = 0 - elif key == curses.KEY_END: + elif key == inp.END:#curses.KEY_END: self.cursor = len(self.string) - elif key == curses.ascii.ESC or key == curses.KEY_DL: + elif key == inp.ESCAPE:#curses.ascii.ESC or key == curses.KEY_DL: # throw away entered string and go back to game self.typing = False self.string = "" self.cursor = 0 - elif key == curses.ascii.LF or key == curses.ascii.CR: + elif key == inp.ENTER:#curses.ascii.LF or key == curses.ascii.CR: # process entered string and reset it message = self.string self.string = "" self.cursor = 0 self.typing = False self.processString(message) - elif key == curses.ascii.TAB: + elif key == "^I":#curses.ascii.TAB: # return to game but keep entered string self.typing = False |
