fix(gui): don't map control characters

This commit is contained in:
CJ van den Berg 2026-03-30 20:32:39 +02:00
parent a9efe0ca4c
commit 9b0f40f155
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -54,32 +54,32 @@ pub const KeyEvent = struct {
// Map a wio.Button to the primary codepoint for that key
pub fn codepointFromButton(b: wio.Button, mods: Mods) u21 {
return switch (b) {
.a => if (mods.ctrl) 0x01 else if (mods.shift) 'A' else 'a',
.b => if (mods.ctrl) 0x02 else if (mods.shift) 'B' else 'b',
.c => if (mods.ctrl) 0x03 else if (mods.shift) 'C' else 'c',
.d => if (mods.ctrl) 0x04 else if (mods.shift) 'D' else 'd',
.e => if (mods.ctrl) 0x05 else if (mods.shift) 'E' else 'e',
.f => if (mods.ctrl) 0x06 else if (mods.shift) 'F' else 'f',
.g => if (mods.ctrl) 0x07 else if (mods.shift) 'G' else 'g',
.h => if (mods.ctrl) 0x08 else if (mods.shift) 'H' else 'h',
.i => if (mods.ctrl) 0x09 else if (mods.shift) 'I' else 'i',
.j => if (mods.ctrl) 0x0A else if (mods.shift) 'J' else 'j',
.k => if (mods.ctrl) 0x0B else if (mods.shift) 'K' else 'k',
.l => if (mods.ctrl) 0x0C else if (mods.shift) 'L' else 'l',
.m => if (mods.ctrl) 0x0D else if (mods.shift) 'M' else 'm',
.n => if (mods.ctrl) 0x0E else if (mods.shift) 'N' else 'n',
.o => if (mods.ctrl) 0x0F else if (mods.shift) 'O' else 'o',
.p => if (mods.ctrl) 0x10 else if (mods.shift) 'P' else 'p',
.q => if (mods.ctrl) 0x11 else if (mods.shift) 'Q' else 'q',
.r => if (mods.ctrl) 0x12 else if (mods.shift) 'R' else 'r',
.s => if (mods.ctrl) 0x13 else if (mods.shift) 'S' else 's',
.t => if (mods.ctrl) 0x14 else if (mods.shift) 'T' else 't',
.u => if (mods.ctrl) 0x15 else if (mods.shift) 'U' else 'u',
.v => if (mods.ctrl) 0x16 else if (mods.shift) 'V' else 'v',
.w => if (mods.ctrl) 0x17 else if (mods.shift) 'W' else 'w',
.x => if (mods.ctrl) 0x18 else if (mods.shift) 'X' else 'x',
.y => if (mods.ctrl) 0x19 else if (mods.shift) 'Y' else 'y',
.z => if (mods.ctrl) 0x1A else if (mods.shift) 'Z' else 'z',
.a => if (mods.shift) 'A' else 'a',
.b => if (mods.shift) 'B' else 'b',
.c => if (mods.shift) 'C' else 'c',
.d => if (mods.shift) 'D' else 'd',
.e => if (mods.shift) 'E' else 'e',
.f => if (mods.shift) 'F' else 'f',
.g => if (mods.shift) 'G' else 'g',
.h => if (mods.shift) 'H' else 'h',
.i => if (mods.shift) 'I' else 'i',
.j => if (mods.shift) 'J' else 'j',
.k => if (mods.shift) 'K' else 'k',
.l => if (mods.shift) 'L' else 'l',
.m => if (mods.shift) 'M' else 'm',
.n => if (mods.shift) 'N' else 'n',
.o => if (mods.shift) 'O' else 'o',
.p => if (mods.shift) 'P' else 'p',
.q => if (mods.shift) 'Q' else 'q',
.r => if (mods.shift) 'R' else 'r',
.s => if (mods.shift) 'S' else 's',
.t => if (mods.shift) 'T' else 't',
.u => if (mods.shift) 'U' else 'u',
.v => if (mods.shift) 'V' else 'v',
.w => if (mods.shift) 'W' else 'w',
.x => if (mods.shift) 'X' else 'x',
.y => if (mods.shift) 'Y' else 'y',
.z => if (mods.shift) 'Z' else 'z',
.@"0" => if (mods.shift) ')' else '0',
.@"1" => if (mods.shift) '!' else '1',
.@"2" => if (mods.shift) '@' else '2',