code: func ReadConsoleInput(handle uintptr, buffer []INPUT_RECORD, count *uint32) error {
  	r1, r2, err := readConsoleInputProc.Call(handle, uintptr(unsafe.Pointer(&buffer[0])), uintptr(len(buffer)), uintptr(unsafe.Pointer(count)))
  	use(buffer)
  	return checkError(r1, r2, err)
  }
docs: // ReadConsoleInput reads (and removes) data from the console input buffer.
  // See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684961(v=vs.85).aspx.