aboutsummaryrefslogtreecommitdiff
path: root/src/key.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/key.c')
-rw-r--r--src/key.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/key.c b/src/key.c
index 5cedd3d..4f0f146 100644
--- a/src/key.c
+++ b/src/key.c
@@ -485,6 +485,30 @@ ValidateKeys()
}
+/** Return true if arrow keys are defined. */
+int
+HasArrowKeys()
+{
+ KeyNode *kp;
+ static int r = -1;
+
+ if(r != -1) {
+ return r;
+ }
+
+ for(kp = bindings; kp; kp = kp->next) {
+ if((kp->key & 0xFF) == KEY_UP
+ || (kp->key & 0xFF) == KEY_DOWN
+ || (kp->key & 0xFF) == KEY_RIGHT
+ || (kp->key & 0xFF) == KEY_LEFT) {
+ r = 1;
+ return 1;
+ }
+ }
+ r = 0;
+ return 0;
+}
+
/** Return true if the key event matches any switching key or its modifiers. */
int
Switching(const XKeyEvent *event)