summaryrefslogtreecommitdiff
path: root/pico/keydefs.h
diff options
context:
space:
mode:
authorEduardo Chappa <echappa@gmx.com>2013-02-03 00:59:38 -0700
committerEduardo Chappa <echappa@gmx.com>2013-02-03 00:59:38 -0700
commit094ca96844842928810f14844413109fc6cdd890 (patch)
treee60efbb980f38ba9308ccb4fb2b77b87bbc115f3 /pico/keydefs.h
downloadalpine-094ca96844842928810f14844413109fc6cdd890.tar.xz
Initial Alpine Version
Diffstat (limited to 'pico/keydefs.h')
-rw-r--r--pico/keydefs.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/pico/keydefs.h b/pico/keydefs.h
new file mode 100644
index 00000000..335391c0
--- /dev/null
+++ b/pico/keydefs.h
@@ -0,0 +1,164 @@
+/*
+ * $Id: keydefs.h 766 2007-10-23 23:59:00Z hubert@u.washington.edu $
+ *
+ * ========================================================================
+ * Copyright 2006-2007 University of Washington
+ * Copyright 2013 Eduardo Chappa
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * ========================================================================
+ */
+
+#ifndef PICO_KEYDEFS_INCLUDED
+#define PICO_KEYDEFS_INCLUDED
+
+/*
+ * Key value definitions for pico/pine
+ */
+
+
+/*
+ * Char conversion constants
+ * Make these different values than c-client's U8G_ERROR constants, though I don't
+ * think that is necessary.
+ * These values are not possible as regular UCS-4 values.
+ */
+
+#undef CTRL
+#define CTRL 0x1000000
+#define FUNC 0x2000000
+
+#define KEY_BASE 0x40000000
+#define CCONV_NEEDMORE (KEY_BASE+1) /* need more octets */
+#define CCONV_BADCHAR (KEY_BASE+2) /* can tell it's bad conversion */
+#define CCONV_EOF (KEY_BASE+3)
+
+/*
+ * defs for keypad and function keys...
+ */
+#define KEY_UP (KEY_BASE+0x100)
+#define KEY_DOWN (KEY_BASE+0x101)
+#define KEY_RIGHT (KEY_BASE+0x102)
+#define KEY_LEFT (KEY_BASE+0x103)
+#define KEY_PGUP (KEY_BASE+0x104)
+#define KEY_PGDN (KEY_BASE+0x105)
+#define KEY_HOME (KEY_BASE+0x106)
+#define KEY_END (KEY_BASE+0x107)
+#define KEY_DEL (KEY_BASE+0x108)
+#define BADESC (KEY_BASE+0x109)
+#define KEY_MOUSE (KEY_BASE+0x10a)
+#define KEY_SCRLUPL (KEY_BASE+0x10b)
+#define KEY_SCRLDNL (KEY_BASE+0x10c)
+#define KEY_SCRLTO (KEY_BASE+0x10d)
+#define KEY_XTERM_MOUSE (KEY_BASE+0x10e)
+#define KEY_DOUBLE_ESC (KEY_BASE+0x10f)
+#define KEY_SWALLOW_Z (KEY_BASE+0x110)
+#define KEY_SWAL_UP (KEY_BASE+0x111) /* These four have to be in the same order */
+#define KEY_SWAL_DOWN (KEY_BASE+0x112) /* as KEY_UP, KEY_DOWN, ... */
+#define KEY_SWAL_RIGHT (KEY_BASE+0x113)
+#define KEY_SWAL_LEFT (KEY_BASE+0x114)
+#define KEY_KERMIT (KEY_BASE+0x115)
+#define KEY_JUNK (KEY_BASE+0x116)
+#define KEY_RESIZE (KEY_BASE+0x117)
+#define CTRL_KEY_UP (KEY_BASE+0x118)
+#define CTRL_KEY_DOWN (KEY_BASE+0x119)
+#define CTRL_KEY_RIGHT (KEY_BASE+0x11a)
+#define CTRL_KEY_LEFT (KEY_BASE+0x11b)
+
+/*
+ * Don't think we are using the fact that this is zero anywhere,
+ * but just in case we'll leave it.
+ */
+#define NO_OP_COMMAND 0x0 /* no-op for short timeouts */
+
+#define NO_OP_IDLE (KEY_BASE+0x120) /* no-op for >25 second timeouts */
+#define READY_TO_READ (KEY_BASE+0x121)
+#define BAIL_OUT (KEY_BASE+0x122)
+#define PANIC_NOW (KEY_BASE+0x123)
+#define READ_INTR (KEY_BASE+0x124)
+#define NODATA (KEY_BASE+0x125)
+#define KEY_UTF8 (KEY_BASE+0x126)
+#define KEY_UNKNOWN (KEY_BASE+0x127)
+
+/*
+ * defines for function keys
+ */
+#define F1 (KEY_BASE+FUNC+0) /* Function key one */
+#define F2 (KEY_BASE+FUNC+1) /* Function key two */
+#define F3 (KEY_BASE+FUNC+2) /* Function key three */
+#define F4 (KEY_BASE+FUNC+3) /* Function key four */
+#define F5 (KEY_BASE+FUNC+4) /* Function key five */
+#define F6 (KEY_BASE+FUNC+5) /* Function key six */
+#define F7 (KEY_BASE+FUNC+6) /* Function key seven */
+#define F8 (KEY_BASE+FUNC+7) /* Function key eight */
+#define F9 (KEY_BASE+FUNC+8) /* Function key nine */
+#define F10 (KEY_BASE+FUNC+9) /* Function key ten */
+#define F11 (KEY_BASE+FUNC+0xa) /* Function key eleven */
+#define F12 (KEY_BASE+FUNC+0xb) /* Function key twelve */
+
+/* 1st tier pine function keys */
+#define PF1 F1
+#define PF2 F2
+#define PF3 F3
+#define PF4 F4
+#define PF5 F5
+#define PF6 F6
+#define PF7 F7
+#define PF8 F8
+#define PF9 F9
+#define PF10 F10
+#define PF11 F11
+#define PF12 F12
+
+#define PF2OPF(x) (x + 0x10)
+#define PF2OOPF(x) (x + 0x20)
+#define PF2OOOPF(x) (x + 0x30)
+
+/* 2nd tier pine function keys */
+#define OPF1 PF2OPF(PF1)
+#define OPF2 PF2OPF(PF2)
+#define OPF3 PF2OPF(PF3)
+#define OPF4 PF2OPF(PF4)
+#define OPF5 PF2OPF(PF5)
+#define OPF6 PF2OPF(PF6)
+#define OPF7 PF2OPF(PF7)
+#define OPF8 PF2OPF(PF8)
+#define OPF9 PF2OPF(PF9)
+#define OPF10 PF2OPF(PF10)
+#define OPF11 PF2OPF(PF11)
+#define OPF12 PF2OPF(PF12)
+
+/* 3rd tier pine function keys */
+#define OOPF1 PF2OOPF(PF1)
+#define OOPF2 PF2OOPF(PF2)
+#define OOPF3 PF2OOPF(PF3)
+#define OOPF4 PF2OOPF(PF4)
+#define OOPF5 PF2OOPF(PF5)
+#define OOPF6 PF2OOPF(PF6)
+#define OOPF7 PF2OOPF(PF7)
+#define OOPF8 PF2OOPF(PF8)
+#define OOPF9 PF2OOPF(PF9)
+#define OOPF10 PF2OOPF(PF10)
+#define OOPF11 PF2OOPF(PF11)
+#define OOPF12 PF2OOPF(PF12)
+
+/* 4th tier pine function keys */
+#define OOOPF1 PF2OOOPF(PF1)
+#define OOOPF2 PF2OOOPF(PF2)
+#define OOOPF3 PF2OOOPF(PF3)
+#define OOOPF4 PF2OOOPF(PF4)
+#define OOOPF5 PF2OOOPF(PF5)
+#define OOOPF6 PF2OOOPF(PF6)
+#define OOOPF7 PF2OOOPF(PF7)
+#define OOOPF8 PF2OOOPF(PF8)
+#define OOOPF9 PF2OOOPF(PF9)
+#define OOOPF10 PF2OOOPF(PF10)
+#define OOOPF11 PF2OOOPF(PF11)
+#define OOOPF12 PF2OOOPF(PF12)
+
+#endif /* PICO_KEYDEFS_INCLUDED */