Commit 5ada11449a
Changed files (3)
lib
std
os
uefi
lib/std/os/uefi/protocols/simple_text_input_protocol.zig
@@ -0,0 +1,30 @@
+const uefi = @import("std").os.uefi;
+const Event = uefi.Event;
+const Guid = uefi.Guid;
+
+/// Character input devices, e.g. Keyboard
+pub const SimpleTextInputProtocol = extern struct {
+ _reset: extern fn (*const SimpleTextInputProtocol, bool) usize,
+ _read_key_stroke: extern fn (*const SimpleTextInputProtocol, *uefi.protocols.InputKey) usize,
+ wait_for_key: Event,
+
+ /// Resets the input device hardware.
+ pub fn reset(self: *const SimpleTextInputProtocol, verify: bool) usize {
+ return self._reset(self, verify);
+ }
+
+ /// Reads the next keystroke from the input device.
+ pub fn readKeyStroke(self: *const SimpleTextInputProtocol, input_key: *uefi.protocols.InputKey) usize {
+ return self._read_key_stroke(self, input_key);
+ }
+
+ pub const guid align(8) = Guid{
+ .time_low = 0x387477c1,
+ .time_mid = 0x69c7,
+ .time_high_and_version = 0x11d2,
+ .clock_seq_high_and_reserved = 0x8e,
+ .clock_seq_low = 0x39,
+ .node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
+ };
+};
+
lib/std/os/uefi/tables/system_table.zig
@@ -3,7 +3,7 @@ const BootServices = uefi.tables.BootServices;
const ConfigurationTable = uefi.tables.ConfigurationTable;
const Handle = uefi.Handle;
const RuntimeServices = uefi.tables.RuntimeServices;
-const SimpleTextInputExProtocol = uefi.protocols.SimpleTextInputExProtocol;
+const SimpleTextInputProtocol = uefi.protocols.SimpleTextInputProtocol;
const SimpleTextOutputProtocol = uefi.protocols.SimpleTextOutputProtocol;
const TableHeader = uefi.tables.TableHeader;
@@ -22,7 +22,7 @@ pub const SystemTable = extern struct {
firmware_vendor: [*]u16,
firmware_revision: u32,
console_in_handle: ?Handle,
- con_in: ?*SimpleTextInputExProtocol,
+ con_in: ?*SimpleTextInputProtocol,
console_out_handle: ?Handle,
con_out: ?*SimpleTextOutputProtocol,
standard_error_handle: ?Handle,
lib/std/os/uefi/protocols.zig
@@ -5,6 +5,7 @@ pub const DevicePathProtocol = @import("protocols/device_path_protocol.zig").Dev
pub const InputKey = @import("protocols/simple_text_input_ex_protocol.zig").InputKey;
pub const KeyData = @import("protocols/simple_text_input_ex_protocol.zig").KeyData;
pub const KeyState = @import("protocols/simple_text_input_ex_protocol.zig").KeyState;
+pub const SimpleTextInputProtocol = @import("protocols/simple_text_input_protocol.zig").SimpleTextInputProtocol;
pub const SimpleTextInputExProtocol = @import("protocols/simple_text_input_ex_protocol.zig").SimpleTextInputExProtocol;
pub const SimpleTextOutputMode = @import("protocols/simple_text_output_protocol.zig").SimpleTextOutputMode;