about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2023-11-25 15:31:42 -0800
committerKartik K. Agaram <vc@akkartik.com>2023-11-25 15:31:42 -0800
commit9ed7c576e6731334cd9e36285b98a2703c6564e1 (patch)
tree10656cb18353926b25e346b5486e956732ab045b
parentf6420efd908b68fa881169729c46def2899b5790 (diff)
downloadlines.love-9ed7c576e6731334cd9e36285b98a2703c6564e1.tar.gz
port keyboard layout handling to source editor
-rw-r--r--source_text.lua9
1 files changed, 8 insertions, 1 deletions
diff --git a/source_text.lua b/source_text.lua
index f60123e..c28e203 100644
--- a/source_text.lua
+++ b/source_text.lua
@@ -199,7 +199,14 @@ end
 
 function Text.text_input(State, t)
   if App.mouse_down(1) then return end
-  if App.ctrl_down() or App.alt_down() or App.cmd_down() then return end
+  if App.any_modifier_down() then
+    if App.key_down(t) then
+      -- The modifiers didn't change the key. Handle it in keychord_pressed.
+      return
+    else
+      -- Key mutated by the keyboard layout. Continue below.
+    end
+  end
   local before = snapshot(State, State.cursor1.line)
 --?   print(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos, State.screen_bottom1.line, State.screen_bottom1.pos)
   Text.insert_at_cursor(State, t)