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)