ref(ctlseqs): use control sequence file; rename key names
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
This commit is contained in:
10
src/app.zig
10
src/app.zig
@@ -182,7 +182,7 @@ pub fn App(comptime E: type) type {
|
||||
'B' => .{ .cp = key.Down },
|
||||
'C' => .{ .cp = key.Right },
|
||||
'D' => .{ .cp = key.Left },
|
||||
'E' => .{ .cp = key.Kp_Begin },
|
||||
'E' => .{ .cp = key.KpBegin },
|
||||
'F' => .{ .cp = key.End },
|
||||
'H' => .{ .cp = key.Home },
|
||||
'P' => .{ .cp = key.F1 },
|
||||
@@ -216,7 +216,7 @@ pub fn App(comptime E: type) type {
|
||||
'B' => key.Down,
|
||||
'C' => key.Right,
|
||||
'D' => key.Left,
|
||||
'E' => key.Kp_Begin,
|
||||
'E' => key.KpBegin,
|
||||
'F' => key.End,
|
||||
'H' => key.Home,
|
||||
'P' => key.F1,
|
||||
@@ -241,8 +241,8 @@ pub fn App(comptime E: type) type {
|
||||
.cp = switch (number) {
|
||||
2 => key.Insert,
|
||||
3 => key.Delete,
|
||||
5 => key.Page_Up,
|
||||
6 => key.Page_Down,
|
||||
5 => key.PageUp,
|
||||
6 => key.PageDown,
|
||||
7 => key.Home,
|
||||
8 => key.End,
|
||||
11 => key.F1,
|
||||
@@ -259,7 +259,7 @@ pub fn App(comptime E: type) type {
|
||||
24 => key.F12,
|
||||
// 200 => return .{ .event = .paste_start, .n = sequence.len },
|
||||
// 201 => return .{ .event = .paste_end, .n = sequence.len },
|
||||
57427 => key.Kp_Begin,
|
||||
57427 => key.KpBegin,
|
||||
else => unreachable,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -58,8 +58,11 @@ pub const cub = "\x1b[{d}D";
|
||||
|
||||
// Erase
|
||||
pub const erase_below_cursor = "\x1b[J";
|
||||
pub const clear_screen = "\x1b[2J";
|
||||
|
||||
// alt screen
|
||||
pub const save_screen = "\x1b[?47h";
|
||||
pub const restore_screen = "\x1b[?47l";
|
||||
pub const smcup = "\x1b[?1049h";
|
||||
pub const rmcup = "\x1b[?1049l";
|
||||
|
||||
|
||||
124
src/key.zig
124
src/key.zig
@@ -48,14 +48,14 @@ pub const Left: u21 = 57350;
|
||||
pub const Right: u21 = 57351;
|
||||
pub const Up: u21 = 57352;
|
||||
pub const Down: u21 = 57353;
|
||||
pub const Page_Up: u21 = 57354;
|
||||
pub const Page_Down: u21 = 57355;
|
||||
pub const PageUp: u21 = 57354;
|
||||
pub const PageDown: u21 = 57355;
|
||||
pub const Home: u21 = 57356;
|
||||
pub const End: u21 = 57357;
|
||||
pub const Caps_Lock: u21 = 57358;
|
||||
pub const Scroll_Lock: u21 = 57359;
|
||||
pub const Num_Lock: u21 = 57360;
|
||||
pub const Print_Screen: u21 = 57361;
|
||||
pub const CapsLock: u21 = 57358;
|
||||
pub const ScrollLock: u21 = 57359;
|
||||
pub const NumLock: u21 = 57360;
|
||||
pub const PrintScreen: u21 = 57361;
|
||||
pub const Pause: u21 = 57362;
|
||||
pub const Menu: u21 = 57363;
|
||||
pub const F1: u21 = 57364;
|
||||
@@ -93,59 +93,59 @@ pub const F32: u21 = 57395;
|
||||
pub const F33: u21 = 57396;
|
||||
pub const F34: u21 = 57397;
|
||||
pub const F35: u21 = 57398;
|
||||
pub const Kp_0: u21 = 57399;
|
||||
pub const Kp_1: u21 = 57400;
|
||||
pub const Kp_2: u21 = 57401;
|
||||
pub const Kp_3: u21 = 57402;
|
||||
pub const Kp_4: u21 = 57403;
|
||||
pub const Kp_5: u21 = 57404;
|
||||
pub const Kp_6: u21 = 57405;
|
||||
pub const Kp_7: u21 = 57406;
|
||||
pub const Kp_8: u21 = 57407;
|
||||
pub const Kp_9: u21 = 57408;
|
||||
pub const Kp_Decimal: u21 = 57409;
|
||||
pub const Kp_Divide: u21 = 57410;
|
||||
pub const Kp_Multiply: u21 = 57411;
|
||||
pub const Kp_Subtract: u21 = 57412;
|
||||
pub const Kp_Add: u21 = 57413;
|
||||
pub const Kp_Enter: u21 = 57414;
|
||||
pub const Kp_Equal: u21 = 57415;
|
||||
pub const Kp_Separator: u21 = 57416;
|
||||
pub const Kp_Left: u21 = 57417;
|
||||
pub const Kp_Right: u21 = 57418;
|
||||
pub const Kp_Up: u21 = 57419;
|
||||
pub const Kp_Down: u21 = 57420;
|
||||
pub const Kp_Page_up: u21 = 57421;
|
||||
pub const Kp_Page_down: u21 = 57422;
|
||||
pub const Kp_Home: u21 = 57423;
|
||||
pub const Kp_End: u21 = 57424;
|
||||
pub const Kp_Insert: u21 = 57425;
|
||||
pub const Kp_Delete: u21 = 57426;
|
||||
pub const Kp_Begin: u21 = 57427;
|
||||
pub const Media_Play: u21 = 57428;
|
||||
pub const Media_Pause: u21 = 57429;
|
||||
pub const Media_Play_pause: u21 = 57430;
|
||||
pub const Media_Reverse: u21 = 57431;
|
||||
pub const Media_Stop: u21 = 57432;
|
||||
pub const Media_Fast_forward: u21 = 57433;
|
||||
pub const Media_Rewind: u21 = 57434;
|
||||
pub const Media_Track_next: u21 = 57435;
|
||||
pub const Media_Track_previous: u21 = 57436;
|
||||
pub const Media_Record: u21 = 57437;
|
||||
pub const Lower_Volume: u21 = 57438;
|
||||
pub const Raise_Volume: u21 = 57439;
|
||||
pub const Mute_Volume: u21 = 57440;
|
||||
pub const Left_Shift: u21 = 57441;
|
||||
pub const Left_Control: u21 = 57442;
|
||||
pub const Left_Alt: u21 = 57443;
|
||||
pub const Left_Super: u21 = 57444;
|
||||
pub const Left_Hyper: u21 = 57445;
|
||||
pub const Left_Meta: u21 = 57446;
|
||||
pub const Right_shift: u21 = 57447;
|
||||
pub const Right_control: u21 = 57448;
|
||||
pub const Right_alt: u21 = 57449;
|
||||
pub const Right_super: u21 = 57450;
|
||||
pub const Right_hyper: u21 = 57451;
|
||||
pub const Right_meta: u21 = 57452;
|
||||
pub const Iso_Level_3_Shift: u21 = 57453;
|
||||
pub const Iso_Level_5_Shift: u21 = 57454;
|
||||
pub const Kp0: u21 = 57399;
|
||||
pub const Kp1: u21 = 57400;
|
||||
pub const Kp2: u21 = 57401;
|
||||
pub const Kp3: u21 = 57402;
|
||||
pub const Kp4: u21 = 57403;
|
||||
pub const Kp5: u21 = 57404;
|
||||
pub const Kp6: u21 = 57405;
|
||||
pub const Kp7: u21 = 57406;
|
||||
pub const Kp8: u21 = 57407;
|
||||
pub const Kp9: u21 = 57408;
|
||||
pub const KpDecimal: u21 = 57409;
|
||||
pub const KpDivide: u21 = 57410;
|
||||
pub const KpMultiply: u21 = 57411;
|
||||
pub const KpSubtract: u21 = 57412;
|
||||
pub const KpAdd: u21 = 57413;
|
||||
pub const KpEnter: u21 = 57414;
|
||||
pub const KpEqual: u21 = 57415;
|
||||
pub const KpSeparator: u21 = 57416;
|
||||
pub const KpLeft: u21 = 57417;
|
||||
pub const KpRight: u21 = 57418;
|
||||
pub const KpUp: u21 = 57419;
|
||||
pub const KpDown: u21 = 57420;
|
||||
pub const KpPage_up: u21 = 57421;
|
||||
pub const KpPage_down: u21 = 57422;
|
||||
pub const KpHome: u21 = 57423;
|
||||
pub const KpEnd: u21 = 57424;
|
||||
pub const KpInsert: u21 = 57425;
|
||||
pub const KpDelete: u21 = 57426;
|
||||
pub const KpBegin: u21 = 57427;
|
||||
pub const MediaPlay: u21 = 57428;
|
||||
pub const MediaPause: u21 = 57429;
|
||||
pub const MediaPlayPause: u21 = 57430;
|
||||
pub const MediaReverse: u21 = 57431;
|
||||
pub const MediaStop: u21 = 57432;
|
||||
pub const MediaFastForward: u21 = 57433;
|
||||
pub const MediaRewind: u21 = 57434;
|
||||
pub const MediaTrackNext: u21 = 57435;
|
||||
pub const MediaTrackPrevious: u21 = 57436;
|
||||
pub const MediaRecord: u21 = 57437;
|
||||
pub const LowerVolume: u21 = 57438;
|
||||
pub const RaiseVolume: u21 = 57439;
|
||||
pub const MuteVolume: u21 = 57440;
|
||||
pub const LeftShift: u21 = 57441;
|
||||
pub const LeftControl: u21 = 57442;
|
||||
pub const LeftAlt: u21 = 57443;
|
||||
pub const LeftSuper: u21 = 57444;
|
||||
pub const LeftHyper: u21 = 57445;
|
||||
pub const LeftMeta: u21 = 57446;
|
||||
pub const RightShift: u21 = 57447;
|
||||
pub const RightControl: u21 = 57448;
|
||||
pub const RightAlt: u21 = 57449;
|
||||
pub const RightSuper: u21 = 57450;
|
||||
pub const RightHyper: u21 = 57451;
|
||||
pub const RightMeta: u21 = 57452;
|
||||
pub const IsoLevel3Shift: u21 = 57453;
|
||||
pub const IsoLevel5Shift: u21 = 57454;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const std = @import("std");
|
||||
pub const code_point = @import("code_point");
|
||||
const ctlseqs = @import("ctlseqs.zig");
|
||||
|
||||
const Key = @import("key.zig").Key;
|
||||
const Position = @import("size.zig").Position;
|
||||
@@ -25,35 +26,43 @@ pub fn getTerminalSize() Size {
|
||||
}
|
||||
|
||||
pub fn saveScreen() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[?47h");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.save_screen);
|
||||
}
|
||||
|
||||
pub fn restoreScreen() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[?47l");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.restore_screen);
|
||||
}
|
||||
|
||||
pub fn enterAltScreen() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[?1049h");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.smcup);
|
||||
}
|
||||
|
||||
pub fn exitAltScreen() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[?1049l");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.rmcup);
|
||||
}
|
||||
|
||||
pub fn clearScreen() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[2J");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.clear_screen);
|
||||
}
|
||||
|
||||
pub fn hideCursor() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[?25l");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.hide_cursor);
|
||||
}
|
||||
|
||||
pub fn showCursor() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[?25h");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.show_cursor);
|
||||
}
|
||||
|
||||
pub fn setCursorPositionHome() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, "\x1b[H");
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.home);
|
||||
}
|
||||
|
||||
pub fn enableMouseSupport() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.mouse_set);
|
||||
}
|
||||
|
||||
pub fn disableMouseSupport() !void {
|
||||
_ = try std.posix.write(std.posix.STDIN_FILENO, ctlseqs.mouse_reset);
|
||||
}
|
||||
|
||||
pub fn read(buf: []u8) !usize {
|
||||
|
||||
Reference in New Issue
Block a user