Module: TTY::Reader::WinAPI

Includes:
Fiddle
Defined in:
lib/tty/reader/win_api.rb

Overview

API:

  • public

Constant Summary collapse

CRT_HANDLE =

API:

  • public

Fiddle::Handle.new("msvcrt") rescue Fiddle::Handle.new("crtdll")

Class Method Summary collapse

Class Method Details

.getchString

Get a character from the console without echo.

Returns:

  • return the character read

API:

  • public



18
19
20
21
# File 'lib/tty/reader/win_api.rb', line 18

def getch
  @@getch ||= Fiddle::Function.new(CRT_HANDLE["_getch"], [], TYPE_INT)
  @@getch.call
end

.getcheString

Gets a character from the console with echo.

Returns:

  • return the character read

API:

  • public



30
31
32
33
# File 'lib/tty/reader/win_api.rb', line 30

def getche
  @@getche ||= Fiddle::Function.new(CRT_HANDLE["_getche"], [], TYPE_INT)
  @@getche.call
end

.kbhitInteger

Check the console for recent keystroke. If the function returns a nonzero value, a keystroke is waiting in the buffer.

Returns:

  • return a nonzero value if a key has been pressed. Otherwirse, it returns 0.

API:

  • public



44
45
46
47
# File 'lib/tty/reader/win_api.rb', line 44

def kbhit
  @@kbhit ||= Fiddle::Function.new(CRT_HANDLE["_kbhit"], [], TYPE_INT)
  @@kbhit.call
end