summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asciifarm/client/display/window.py4
-rw-r--r--asciifarm/client/inputhandling.hy11
-rw-r--r--asciifarm/client/keynames.py11
-rw-r--r--asciifarm/keybindings/keybindings.hy2
4 files changed, 17 insertions, 11 deletions
diff --git a/asciifarm/client/display/window.py b/asciifarm/client/display/window.py
index a8e0696..f54fee3 100644
--- a/asciifarm/client/display/window.py
+++ b/asciifarm/client/display/window.py
@@ -67,5 +67,9 @@ class Window:
x, y = pos
return self.win.getstr(y, x)
+ def getCh(self, pos):
+ x, y = pos
+ return self.win.getch(y, x)
+
diff --git a/asciifarm/client/inputhandling.hy b/asciifarm/client/inputhandling.hy
index ab51037..dbe5dd4 100644
--- a/asciifarm/client/inputhandling.hy
+++ b/asciifarm/client/inputhandling.hy
@@ -1,15 +1,6 @@
(require [asciifarm.client.keymacros [*]])
-(import [curses])
-
-(setv prenamedkeys { ; or should this be def?
- 10 "KEY_ENTER"
-})
-
-(defn nameFromKey [key]
- (if (in key prenamedkeys)
- (get prenamedkeys key)
- (str (curses.keyname key) "utf-8")))
+(import [asciifarm.client.keynames [nameFromKey]])
(defclass InputHandler []
diff --git a/asciifarm/client/keynames.py b/asciifarm/client/keynames.py
new file mode 100644
index 0000000..f60c0b7
--- /dev/null
+++ b/asciifarm/client/keynames.py
@@ -0,0 +1,11 @@
+
+import curses
+
+prenamed = {
+ 10: "NEWLINE"
+}
+
+def nameFromKey(key):
+ if key in prenamed:
+ return prenamed[key]
+ return str(curses.keyname(key), "utf-8")
diff --git a/asciifarm/keybindings/keybindings.hy b/asciifarm/keybindings/keybindings.hy
index 6f958db..14fe190 100644
--- a/asciifarm/keybindings/keybindings.hy
+++ b/asciifarm/keybindings/keybindings.hy
@@ -26,7 +26,7 @@
(inp ["attack" "east"])
(inp ["attack" "west"])])
"t" (self.parseMessage (self.display.getString))
-"KEY_ENTER" (self.parseMessage (self.display.getString))
+"NEWLINE" (self.parseMessage (self.display.getString))
"KEY_PPAGE" (self.display.scrollBack 1)
"KEY_NPAGE" (self.display.scrollBack -1)
"help" "\