mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-12-31 02:32:13 +00:00
input: remove translated
This commit is contained in:
@@ -1082,7 +1082,7 @@ test "kitty: plain text" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .a,
|
||||
.key = .key_a,
|
||||
.mods = .{},
|
||||
.utf8 = "abcd",
|
||||
},
|
||||
@@ -1098,7 +1098,7 @@ test "kitty: repeat with just disambiguate" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .a,
|
||||
.key = .key_a,
|
||||
.action = .repeat,
|
||||
.mods = .{},
|
||||
.utf8 = "a",
|
||||
@@ -1222,7 +1222,7 @@ test "kitty: enter with all flags" {
|
||||
test "kitty: ctrl with all flags" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{ .key = .left_control, .mods = .{ .ctrl = true }, .utf8 = "" },
|
||||
.event = .{ .key = .control_left, .mods = .{ .ctrl = true }, .utf8 = "" },
|
||||
.kitty_flags = .{
|
||||
.disambiguate = true,
|
||||
.report_events = true,
|
||||
@@ -1240,7 +1240,7 @@ test "kitty: ctrl release with ctrl mod set" {
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.action = .release,
|
||||
.key = .left_control,
|
||||
.key = .control_left,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "",
|
||||
},
|
||||
@@ -1272,7 +1272,7 @@ test "kitty: composing with no modifier" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .a,
|
||||
.key = .key_a,
|
||||
.mods = .{ .shift = true },
|
||||
.composing = true,
|
||||
},
|
||||
@@ -1287,7 +1287,7 @@ test "kitty: composing with modifier" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .left_shift,
|
||||
.key = .shift_left,
|
||||
.mods = .{ .shift = true },
|
||||
.composing = true,
|
||||
},
|
||||
@@ -1302,7 +1302,7 @@ test "kitty: shift+a on US keyboard" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .a,
|
||||
.key = .key_a,
|
||||
.mods = .{ .shift = true },
|
||||
.utf8 = "A",
|
||||
.unshifted_codepoint = 97, // lowercase A
|
||||
@@ -1321,7 +1321,7 @@ test "kitty: matching unshifted codepoint" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .a,
|
||||
.key = .key_a,
|
||||
.mods = .{ .shift = true },
|
||||
.utf8 = "A",
|
||||
.unshifted_codepoint = 65,
|
||||
@@ -1344,7 +1344,7 @@ test "kitty: report alternates with caps" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .j,
|
||||
.key = .key_j,
|
||||
.mods = .{ .caps_lock = true },
|
||||
.utf8 = "J",
|
||||
.unshifted_codepoint = 106,
|
||||
@@ -1450,7 +1450,7 @@ test "kitty: report alternates with hu layout release" {
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.action = .release,
|
||||
.key = .left_bracket,
|
||||
.key = .bracket_left,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "",
|
||||
.unshifted_codepoint = 337,
|
||||
@@ -1473,7 +1473,7 @@ test "kitty: up arrow with utf8" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .up,
|
||||
.key = .arrow_up,
|
||||
.mods = .{},
|
||||
.utf8 = &.{30},
|
||||
},
|
||||
@@ -1505,7 +1505,7 @@ test "kitty: left shift" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .left_shift,
|
||||
.key = .shift_left,
|
||||
.mods = .{},
|
||||
.utf8 = "",
|
||||
},
|
||||
@@ -1521,7 +1521,7 @@ test "kitty: left shift with report all" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .left_shift,
|
||||
.key = .shift_left,
|
||||
.mods = .{},
|
||||
.utf8 = "",
|
||||
},
|
||||
@@ -1539,7 +1539,7 @@ test "kitty: report associated with alt text on macOS with option" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .w,
|
||||
.key = .key_w,
|
||||
.mods = .{ .alt = true },
|
||||
.utf8 = "∑",
|
||||
.unshifted_codepoint = 119,
|
||||
@@ -1565,7 +1565,7 @@ test "kitty: report associated with alt text on macOS with alt" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .w,
|
||||
.key = .key_w,
|
||||
.mods = .{ .alt = true },
|
||||
.utf8 = "∑",
|
||||
.unshifted_codepoint = 119,
|
||||
@@ -1588,7 +1588,7 @@ test "kitty: report associated with alt text on macOS with alt" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .w,
|
||||
.key = .key_w,
|
||||
.mods = .{},
|
||||
.utf8 = "∑",
|
||||
.unshifted_codepoint = 119,
|
||||
@@ -1611,7 +1611,7 @@ test "kitty: report associated with modifiers" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .j,
|
||||
.key = .key_j,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "j",
|
||||
.unshifted_codepoint = 106,
|
||||
@@ -1632,7 +1632,7 @@ test "kitty: report associated" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .j,
|
||||
.key = .key_j,
|
||||
.mods = .{ .shift = true },
|
||||
.utf8 = "J",
|
||||
.unshifted_codepoint = 106,
|
||||
@@ -1654,7 +1654,7 @@ test "kitty: report associated on release" {
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.action = .release,
|
||||
.key = .j,
|
||||
.key = .key_j,
|
||||
.mods = .{ .shift = true },
|
||||
.utf8 = "J",
|
||||
.unshifted_codepoint = 106,
|
||||
@@ -1713,7 +1713,7 @@ test "kitty: enter with utf8 (dead key state)" {
|
||||
test "kitty: keypad number" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{ .key = .kp_1, .mods = .{}, .utf8 = "1" },
|
||||
.event = .{ .key = .numpad_1, .mods = .{}, .utf8 = "1" },
|
||||
.kitty_flags = .{
|
||||
.disambiguate = true,
|
||||
.report_events = true,
|
||||
@@ -1807,7 +1807,7 @@ test "legacy: ctrl+alt+c" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .c,
|
||||
.key = .key_c,
|
||||
.mods = .{ .ctrl = true, .alt = true },
|
||||
.utf8 = "c",
|
||||
},
|
||||
@@ -1821,7 +1821,7 @@ test "legacy: alt+c" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .c,
|
||||
.key = .key_c,
|
||||
.utf8 = "c",
|
||||
.mods = .{ .alt = true },
|
||||
},
|
||||
@@ -1837,7 +1837,7 @@ test "legacy: alt+e only unshifted" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .e,
|
||||
.key = .key_e,
|
||||
.unshifted_codepoint = 'e',
|
||||
.mods = .{ .alt = true },
|
||||
},
|
||||
@@ -1855,7 +1855,7 @@ test "legacy: alt+x macos" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .c,
|
||||
.key = .key_c,
|
||||
.utf8 = "≈",
|
||||
.unshifted_codepoint = 'c',
|
||||
.mods = .{ .alt = true },
|
||||
@@ -1891,7 +1891,7 @@ test "legacy: alt+ф" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .f,
|
||||
.key = .key_f,
|
||||
.utf8 = "ф",
|
||||
.mods = .{ .alt = true },
|
||||
},
|
||||
@@ -1906,7 +1906,7 @@ test "legacy: ctrl+c" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .c,
|
||||
.key = .key_c,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "c",
|
||||
},
|
||||
@@ -1947,7 +1947,7 @@ test "legacy: ctrl+shift+char with modify other state 2" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .h,
|
||||
.key = .key_h,
|
||||
.mods = .{ .ctrl = true, .shift = true },
|
||||
.utf8 = "H",
|
||||
},
|
||||
@@ -1962,7 +1962,7 @@ test "legacy: fixterm awkward letters" {
|
||||
var buf: [128]u8 = undefined;
|
||||
{
|
||||
var enc: KeyEncoder = .{ .event = .{
|
||||
.key = .i,
|
||||
.key = .key_i,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "i",
|
||||
} };
|
||||
@@ -1971,7 +1971,7 @@ test "legacy: fixterm awkward letters" {
|
||||
}
|
||||
{
|
||||
var enc: KeyEncoder = .{ .event = .{
|
||||
.key = .m,
|
||||
.key = .key_m,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "m",
|
||||
} };
|
||||
@@ -1980,7 +1980,7 @@ test "legacy: fixterm awkward letters" {
|
||||
}
|
||||
{
|
||||
var enc: KeyEncoder = .{ .event = .{
|
||||
.key = .left_bracket,
|
||||
.key = .bracket_left,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "[",
|
||||
} };
|
||||
@@ -1989,7 +1989,7 @@ test "legacy: fixterm awkward letters" {
|
||||
}
|
||||
{
|
||||
var enc: KeyEncoder = .{ .event = .{
|
||||
.key = .two,
|
||||
.key = .digit_2,
|
||||
.mods = .{ .ctrl = true, .shift = true },
|
||||
.utf8 = "@",
|
||||
.unshifted_codepoint = '2',
|
||||
@@ -2005,7 +2005,7 @@ test "legacy: ctrl+shift+letter ascii" {
|
||||
var buf: [128]u8 = undefined;
|
||||
{
|
||||
var enc: KeyEncoder = .{ .event = .{
|
||||
.key = .m,
|
||||
.key = .key_m,
|
||||
.mods = .{ .ctrl = true, .shift = true },
|
||||
.utf8 = "M",
|
||||
.unshifted_codepoint = 'm',
|
||||
@@ -2019,7 +2019,7 @@ test "legacy: shift+function key should use all mods" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .up,
|
||||
.key = .arrow_up,
|
||||
.mods = .{ .shift = true },
|
||||
.consumed_mods = .{ .shift = true },
|
||||
},
|
||||
@@ -2033,7 +2033,7 @@ test "legacy: keypad enter" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .kp_enter,
|
||||
.key = .numpad_enter,
|
||||
.mods = .{},
|
||||
.consumed_mods = .{},
|
||||
},
|
||||
@@ -2047,7 +2047,7 @@ test "legacy: keypad 1" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .kp_1,
|
||||
.key = .numpad_1,
|
||||
.mods = .{},
|
||||
.consumed_mods = .{},
|
||||
.utf8 = "1",
|
||||
@@ -2062,7 +2062,7 @@ test "legacy: keypad 1 with application keypad" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .kp_1,
|
||||
.key = .numpad_1,
|
||||
.mods = .{},
|
||||
.consumed_mods = .{},
|
||||
.utf8 = "1",
|
||||
@@ -2078,7 +2078,7 @@ test "legacy: keypad 1 with application keypad and numlock" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .kp_1,
|
||||
.key = .numpad_1,
|
||||
.mods = .{ .num_lock = true },
|
||||
.consumed_mods = .{},
|
||||
.utf8 = "1",
|
||||
@@ -2094,7 +2094,7 @@ test "legacy: keypad 1 with application keypad and numlock ignore" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .kp_1,
|
||||
.key = .numpad_1,
|
||||
.mods = .{ .num_lock = false },
|
||||
.consumed_mods = .{},
|
||||
.utf8 = "1",
|
||||
@@ -2189,8 +2189,8 @@ test "legacy: hu layout ctrl+ő sends proper codepoint" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .left_bracket,
|
||||
.physical_key = .left_bracket,
|
||||
.key = .bracket_left,
|
||||
.physical_key = .bracket_left,
|
||||
.mods = .{ .ctrl = true },
|
||||
.utf8 = "ő",
|
||||
.unshifted_codepoint = 337,
|
||||
@@ -2207,7 +2207,7 @@ test "legacy: super-only on macOS with text" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .b,
|
||||
.key = .key_b,
|
||||
.utf8 = "b",
|
||||
.mods = .{ .super = true },
|
||||
},
|
||||
@@ -2223,7 +2223,7 @@ test "legacy: super and other mods on macOS with text" {
|
||||
var buf: [128]u8 = undefined;
|
||||
var enc: KeyEncoder = .{
|
||||
.event = .{
|
||||
.key = .b,
|
||||
.key = .key_b,
|
||||
.utf8 = "B",
|
||||
.mods = .{ .super = true, .shift = true },
|
||||
},
|
||||
@@ -2234,50 +2234,50 @@ test "legacy: super and other mods on macOS with text" {
|
||||
}
|
||||
|
||||
test "ctrlseq: normal ctrl c" {
|
||||
const seq = ctrlSeq(.invalid, "c", 'c', .{ .ctrl = true });
|
||||
const seq = ctrlSeq(.unidentified, "c", 'c', .{ .ctrl = true });
|
||||
try testing.expectEqual(@as(u8, 0x03), seq.?);
|
||||
}
|
||||
|
||||
test "ctrlseq: normal ctrl c, right control" {
|
||||
const seq = ctrlSeq(.invalid, "c", 'c', .{ .ctrl = true, .sides = .{ .ctrl = .right } });
|
||||
const seq = ctrlSeq(.unidentified, "c", 'c', .{ .ctrl = true, .sides = .{ .ctrl = .right } });
|
||||
try testing.expectEqual(@as(u8, 0x03), seq.?);
|
||||
}
|
||||
|
||||
test "ctrlseq: alt should be allowed" {
|
||||
const seq = ctrlSeq(.invalid, "c", 'c', .{ .alt = true, .ctrl = true });
|
||||
const seq = ctrlSeq(.unidentified, "c", 'c', .{ .alt = true, .ctrl = true });
|
||||
try testing.expectEqual(@as(u8, 0x03), seq.?);
|
||||
}
|
||||
|
||||
test "ctrlseq: no ctrl does nothing" {
|
||||
try testing.expect(ctrlSeq(.invalid, "c", 'c', .{}) == null);
|
||||
try testing.expect(ctrlSeq(.unidentified, "c", 'c', .{}) == null);
|
||||
}
|
||||
|
||||
test "ctrlseq: shifted non-character" {
|
||||
const seq = ctrlSeq(.invalid, "_", '-', .{ .ctrl = true, .shift = true });
|
||||
const seq = ctrlSeq(.unidentified, "_", '-', .{ .ctrl = true, .shift = true });
|
||||
try testing.expectEqual(@as(u8, 0x1F), seq.?);
|
||||
}
|
||||
|
||||
test "ctrlseq: caps ascii letter" {
|
||||
const seq = ctrlSeq(.invalid, "C", 'c', .{ .ctrl = true, .caps_lock = true });
|
||||
const seq = ctrlSeq(.unidentified, "C", 'c', .{ .ctrl = true, .caps_lock = true });
|
||||
try testing.expectEqual(@as(u8, 0x03), seq.?);
|
||||
}
|
||||
|
||||
test "ctrlseq: shift does not generate ctrl seq" {
|
||||
try testing.expect(ctrlSeq(.invalid, "C", 'c', .{ .shift = true }) == null);
|
||||
try testing.expect(ctrlSeq(.invalid, "C", 'c', .{ .shift = true, .ctrl = true }) == null);
|
||||
try testing.expect(ctrlSeq(.unidentified, "C", 'c', .{ .shift = true }) == null);
|
||||
try testing.expect(ctrlSeq(.unidentified, "C", 'c', .{ .shift = true, .ctrl = true }) == null);
|
||||
}
|
||||
|
||||
test "ctrlseq: russian ctrl c" {
|
||||
const seq = ctrlSeq(.c, "с", 0x0441, .{ .ctrl = true });
|
||||
const seq = ctrlSeq(.key_c, "с", 0x0441, .{ .ctrl = true });
|
||||
try testing.expectEqual(@as(u8, 0x03), seq.?);
|
||||
}
|
||||
|
||||
test "ctrlseq: russian shifted ctrl c" {
|
||||
const seq = ctrlSeq(.c, "с", 0x0441, .{ .ctrl = true, .shift = true });
|
||||
const seq = ctrlSeq(.key_c, "с", 0x0441, .{ .ctrl = true, .shift = true });
|
||||
try testing.expect(seq == null);
|
||||
}
|
||||
|
||||
test "ctrlseq: russian alt ctrl c" {
|
||||
const seq = ctrlSeq(.c, "с", 0x0441, .{ .ctrl = true, .alt = true });
|
||||
const seq = ctrlSeq(.key_c, "с", 0x0441, .{ .ctrl = true, .alt = true });
|
||||
try testing.expectEqual(@as(u8, 0x03), seq.?);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user