input: rename Keymap to KeymapDarwin since its macos only for now

This commit is contained in:
Mitchell Hashimoto
2023-08-11 09:55:11 -07:00
parent ce4eb2112c
commit 57f7a59168
2 changed files with 25 additions and 21 deletions

View File

@ -8,9 +8,10 @@ pub const Binding = @import("input/Binding.zig");
pub const SplitDirection = Binding.Action.SplitDirection;
pub const SplitFocusDirection = Binding.Action.SplitFocusDirection;
// Keymap is only available on macOS right now
// Keymap is only available on macOS right now. We could implement it
// in theory for XKB too on Linux but we don't need it right now.
pub const Keymap = switch (builtin.os.tag) {
.macos => @import("input/Keymap.zig"),
.macos => @import("input/KeymapDarwin.zig"),
else => struct {},
};

View File

@ -212,23 +212,26 @@ test {
var keymap = try init();
defer keymap.deinit();
// Single quote ' which is fine on US, but dead on US-International
var buf: [4]u8 = undefined;
var state: State = .{};
{
const result = try keymap.translate(&buf, &state, 0x27, .{});
std.log.warn("map: text={s} dead={}", .{ result.text, result.composing });
}
// Then type "a" which should combine with the dead key to make á
{
const result = try keymap.translate(&buf, &state, 0x00, .{});
std.log.warn("map: text={s} dead={}", .{ result.text, result.composing });
}
// Shift+1 = ! on US
{
const result = try keymap.translate(&buf, &state, 0x12, .{ .shift = true });
std.log.warn("map: text={s} dead={}", .{ result.text, result.composing });
}
// These tests are all commented because they depend on the user-selected
// keyboard layout...
//
// // Single quote ' which is fine on US, but dead on US-International
// var buf: [4]u8 = undefined;
// var state: State = .{};
// {
// const result = try keymap.translate(&buf, &state, 0x27, .{});
// std.log.warn("map: text={s} dead={}", .{ result.text, result.composing });
// }
//
// // Then type "a" which should combine with the dead key to make á
// {
// const result = try keymap.translate(&buf, &state, 0x00, .{});
// std.log.warn("map: text={s} dead={}", .{ result.text, result.composing });
// }
//
// // Shift+1 = ! on US
// {
// const result = try keymap.translate(&buf, &state, 0x12, .{ .shift = true });
// std.log.warn("map: text={s} dead={}", .{ result.text, result.composing });
// }
}