From 944ed32a377291e54d0093a1e864abf771d79bb8 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 9 Jun 2024 14:03:02 +0200 Subject: [PATCH] Use preferred dir when placing a key next to an other --- srcs/juloo.keyboard2/KeyboardData.java | 10 ++++++++-- 1 file 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)