From 1298ba3195b122051d5ecc4e75ebccb7df64135b Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sat, 13 Dec 2025 23:10:15 +0100 Subject: [PATCH 1/2] fix: don't overwrite shifted keycode with alternate text --- src/renderer/vaxis/input.zig | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/renderer/vaxis/input.zig b/src/renderer/vaxis/input.zig index 48f8dc2..8e83f69 100644 --- a/src/renderer/vaxis/input.zig +++ b/src/renderer/vaxis/input.zig @@ -119,7 +119,7 @@ pub const KeyEvent = struct { pub fn from_message( event_: Event, keypress_: Key, - keypress_shifted_: Key, + keypress_shifted: Key, text: []const u8, modifiers: Mods, ) @This() { @@ -131,10 +131,6 @@ pub const KeyEvent = struct { else => modifiers, }; - var keypress_shifted: Key = keypress_shifted_; - if (text.len > 0) blk: { - keypress_shifted = tryUtf8Decode(text) catch break :blk; - } const keypress, const mods = if (keypress_shifted == keypress_) map_key_to_unshifed_legacy(keypress_shifted, mods_) else From 55b428cea6cd8aaca430eecb3535abdbacf03456 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sat, 13 Dec 2025 23:11:33 +0100 Subject: [PATCH 2/2] fix: never use base layout keycodes closes #389 --- src/renderer/vaxis/renderer.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/vaxis/renderer.zig b/src/renderer/vaxis/renderer.zig index 10a3e1e..fbf6abf 100644 --- a/src/renderer/vaxis/renderer.zig +++ b/src/renderer/vaxis/renderer.zig @@ -284,7 +284,7 @@ pub fn process_renderer_event(self: *Self, msg: []const u8) Error!void { const cbor_msg = try self.fmtmsg(.{ "I", input.event.press, - key_.base_layout_codepoint orelse key_.codepoint, + key_.codepoint, key_.shifted_codepoint orelse key_.codepoint, text orelse "", @as(u8, @bitCast(key_.mods)), @@ -298,7 +298,7 @@ pub fn process_renderer_event(self: *Self, msg: []const u8) Error!void { const cbor_msg = try self.fmtmsg(.{ "I", input.event.release, - key_.base_layout_codepoint orelse key_.codepoint, + key_.codepoint, key_.shifted_codepoint orelse key_.codepoint, text orelse "", @as(u8, @bitCast(key_.mods)),