diff options
| author | troido <troido@hotmail.com> | 2018-04-19 00:10:47 +0200 |
|---|---|---|
| committer | troido <troido@hotmail.com> | 2018-04-19 00:10:47 +0200 |
| commit | e03f6096b3fdd75575ff12a2bc98205b8069b043 (patch) | |
| tree | cca413207c6bbd837e8690ad23f56e713ebef895 /asciifarm | |
| parent | 1bf981b4836dc7d48535fcfcdf0d1a4e6d8ffb84 (diff) | |
tab now returns to game keeping entered string; / starts string with text /
Diffstat (limited to 'asciifarm')
| -rw-r--r-- | asciifarm/client/commandhandler.py | 4 | ||||
| -rw-r--r-- | asciifarm/client/inputhandler.py | 11 | ||||
| -rw-r--r-- | asciifarm/keybindings/azerty.json | 3 | ||||
| -rw-r--r-- | asciifarm/keybindings/keybindings.json | 3 |
4 files changed, 16 insertions, 5 deletions
diff --git a/asciifarm/client/commandhandler.py b/asciifarm/client/commandhandler.py index ebb773e..550484c 100644 --- a/asciifarm/client/commandhandler.py +++ b/asciifarm/client/commandhandler.py @@ -61,8 +61,8 @@ class CommandHandler: for action in actions: self.execute(action) - def runInput(self): - self.client.inputHandler.startTyping() + def runInput(self, startText=""): + self.client.inputHandler.startTyping(startText) def select(self, widget, value, relative=False, modular=False): self.client.display.getWidget(widget).select(value, relative, modular) diff --git a/asciifarm/client/inputhandler.py b/asciifarm/client/inputhandler.py index 5296f9d..1db594d 100644 --- a/asciifarm/client/inputhandler.py +++ b/asciifarm/client/inputhandler.py @@ -41,8 +41,12 @@ class InputHandler: else: self.commandHandler.chat(message) - def startTyping(self): + def startTyping(self, startText=""): self.typing = True + if startText and not self.string: + self.string = startText + self.cursor = len(self.string) + self.showString() def showString(self): @@ -67,15 +71,20 @@ class InputHandler: self.cursor = len(self.string) elif key == 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: + # 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: + # return to game but keep entered string + self.typing = False self.showString() diff --git a/asciifarm/keybindings/azerty.json b/asciifarm/keybindings/azerty.json index 32664af..547a181 100644 --- a/asciifarm/keybindings/azerty.json +++ b/asciifarm/keybindings/azerty.json @@ -40,7 +40,8 @@ "t": ["runinput"], "NEWLINE": ["runinput"], "KEY_PPAGE": ["scrollchat", 1], -"KEY_NPAGE": ["scrollchat", -1] +"KEY_NPAGE": ["scrollchat", -1], +"/": ["runinput", "/"] }, "help": "Controls:\n zqsd or arrows:\n Move around\n e: Grab\n q: Drop\n E: Use/Equip\n r: Interact\n f: Attack\n t: Chat\n w: Unequip\n xcv: scroll\n ctrl-c: close client" } diff --git a/asciifarm/keybindings/keybindings.json b/asciifarm/keybindings/keybindings.json index 7e58dd2..f43515e 100644 --- a/asciifarm/keybindings/keybindings.json +++ b/asciifarm/keybindings/keybindings.json @@ -40,7 +40,8 @@ "t": ["runinput"], "NEWLINE": ["runinput"], "KEY_PPAGE": ["scrollchat", 1], -"KEY_NPAGE": ["scrollchat", -1] +"KEY_NPAGE": ["scrollchat", -1], +"/": ["runinput", "/"] }, "help": "Controls:\n wasd or arrows:\n Move around\n e: Grab\n q: Drop\n E: Use/Equip\n r: Interact\n f: Attack\n t: Chat\n z: Unequip\n xcv: scroll\n ctrl-c: close client" } |
