From 642bc348f11ade3ac7fec0d06f069b6713b0e4c2 Mon Sep 17 00:00:00 2001 From: Bauumm Date: Sat, 4 Nov 2023 14:14:07 +0100 Subject: [PATCH] allow keyboard navigation to exit text entry --- ui/elements/entry.lua | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/ui/elements/entry.lua b/ui/elements/entry.lua index 68153be..bd259f9 100644 --- a/ui/elements/entry.lua +++ b/ui/elements/entry.lua @@ -124,14 +124,16 @@ function entry:process_event(name, ...) elseif self.cursor_pos < 0 then self.cursor_pos = 0 end - self.element:scroll_into_view( - self.label.padding * self.scale + self.cursor_pixel_pos - self.scale * 20, - 0, - self.scale * 40, - 0 - ) - self.cursor_pixel_pos = self.label.text:getFont():getWidth(text:sub(1, self.cursor_pos)) - stop_propagation = true + if self.cursor_pos ~= last_cursor_pos then + self.element:scroll_into_view( + self.label.padding * self.scale + self.cursor_pixel_pos - self.scale * 20, + 0, + self.scale * 40, + 0 + ) + self.cursor_pixel_pos = self.label.text:getFont():getWidth(text:sub(1, self.cursor_pos)) + stop_propagation = true + end end return stop_propagation end