Skip to content

Commit e49ad90

Browse files
committed
windows: add console input api
Add Console API input handling syscall wrappers. This is an effort to upstream the amazing coninput library by @erikgeiser https://github.com/erikgeiser/coninput Related #98
1 parent 673e0f9 commit e49ad90

File tree

3 files changed

+422
-0
lines changed

3 files changed

+422
-0
lines changed

windows/syscall_windows.go

+4
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,10 @@ func NewCallbackCDecl(fn interface{}) uintptr {
310310
//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW
311311
//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW
312312
//sys resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole
313+
//sys ReadConsoleInput(console Handle, buf *InputRecord, toread uint32, read *uint32) (err error) = kernel32.ReadConsoleInputW
314+
//sys PeekConsoleInput(console Handle, buf *InputRecord, toread uint32, read *uint32) (err error) = kernel32.PeekConsoleInputW
315+
//sys GetNumberOfConsoleInputEvents(console Handle, numevents *uint32) (err error) = kernel32.GetNumberOfConsoleInputEvents
316+
//sys FlushConsoleInputBuffer(console Handle) (err error) = kernel32.FlushConsoleInputBuffer
313317
//sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot
314318
//sys Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32FirstW
315319
//sys Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32NextW

0 commit comments

Comments
 (0)