diff options
| author | 2024-02-21 22:33:58 +0200 | |
|---|---|---|
| committer | 2024-02-21 22:33:58 +0200 | |
| commit | b3632daddd5510a707df4ba7b4fa747fac131c19 (patch) | |
| tree | 83440be07c9c7467b13eab39ff18843866c0957c /src | |
| parent | Proper line killing algo (diff) | |
| download | es-b3632daddd5510a707df4ba7b4fa747fac131c19.tar.gz es-b3632daddd5510a707df4ba7b4fa747fac131c19.tar.xz es-b3632daddd5510a707df4ba7b4fa747fac131c19.zip | |
Zig update
Diffstat (limited to 'src')
| -rw-r--r-- | src/RawMode.zig | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/RawMode.zig b/src/RawMode.zig index f657ac8..67c5203 100644 --- a/src/RawMode.zig +++ b/src/RawMode.zig | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | const system = std.os.system; | ||
| 2 | const std = @import("std"); | 1 | const std = @import("std"); |
| 3 | 2 | ||
| 4 | const RawMode = @This(); | 3 | const RawMode = @This(); |
| @@ -13,17 +12,23 @@ pub fn init() !RawMode { | |||
| 13 | 12 | ||
| 14 | var raw = orig; | 13 | var raw = orig; |
| 15 | 14 | ||
| 16 | raw.iflag &= ~@as( | 15 | raw.iflag.BRKINT = false; |
| 17 | system.tcflag_t, | 16 | raw.iflag.ICRNL = false; |
| 18 | system.BRKINT | system.ICRNL | system.INPCK | system.ISTRIP | system.IXON, | 17 | raw.iflag.INPCK = false; |
| 19 | ); | 18 | raw.iflag.ISTRIP = false; |
| 20 | raw.lflag &= ~@as(system.tcflag_t, system.ECHO | system.ICANON | system.IEXTEN | system.ISIG); | 19 | raw.iflag.IXON = false; |
| 21 | raw.oflag &= ~@as(system.tcflag_t, system.OPOST); | ||
| 22 | 20 | ||
| 23 | raw.cflag |= system.CS8; | 21 | raw.lflag.ECHO = false; |
| 22 | raw.lflag.ICANON = false; | ||
| 23 | raw.lflag.IEXTEN = false; | ||
| 24 | raw.lflag.ISIG = false; | ||
| 24 | 25 | ||
| 25 | raw.cc[system.V.MIN] = 0; | 26 | raw.oflag.OPOST = false; |
| 26 | raw.cc[system.V.TIME] = 1; | 27 | |
| 28 | raw.cflag.CSIZE = .CS8; | ||
| 29 | |||
| 30 | raw.cc[@intFromEnum(std.posix.V.MIN)] = 0; | ||
| 31 | raw.cc[@intFromEnum(std.posix.V.TIME)] = 1; | ||
| 27 | 32 | ||
| 28 | try std.os.tcsetattr(std.os.STDIN_FILENO, .FLUSH, raw); | 33 | try std.os.tcsetattr(std.os.STDIN_FILENO, .FLUSH, raw); |
| 29 | 34 | ||