abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyboardData.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/KeyboardData.java')
-rw-r--r--srcs/juloo.keyboard2/KeyboardData.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/srcs/juloo.keyboard2/KeyboardData.java b/srcs/juloo.keyboard2/KeyboardData.java
index 225d8cc..604d7cc 100644
--- a/srcs/juloo.keyboard2/KeyboardData.java
+++ b/srcs/juloo.keyboard2/KeyboardData.java
@@ -67,8 +67,14 @@ public final class KeyboardData
if (pos.next_to != null)
{
KeyPos next_to_pos = getKeys().get(pos.next_to);
- if (next_to_pos != null
- && add_key_to_pos(rows, kv, next_to_pos.with_dir(-1)))
+ // Use preferred direction if some preferred pos match
+ if (next_to_pos != null)
+ for (KeyPos p : pos.positions)
+ if ((p.row == -1 || p.row == next_to_pos.row)
+ && (p.col == -1 || p.col == next_to_pos.col)
+ && add_key_to_pos(rows, kv, next_to_pos.with_dir(p.dir)))
+ return true;
+ if (add_key_to_pos(rows, kv, next_to_pos.with_dir(-1)))
return true;
}
for (KeyPos p : pos.positions)