class Object

Public Instance Methods

getchr() click to toggle source
# File lib/curses-template.rb, line 122
def getchr # PROCESS KEY PRESSES
  c = STDIN.getch(min: 0, time: 1)
  case c
  when "\e"    # ANSI escape sequences
    case $stdin.getc
    when '['   # CSI
      case $stdin.getc
      when 'A' then chr = "UP"
      when 'B' then chr = "DOWN"
      when 'C' then chr = "RIGHT"
      when 'D' then chr = "LEFT"
      when 'Z' then chr = "S-TAB"
      when '2' then chr = "INS"    ; chr = "C-INS"    if STDIN.getc == "^"
      when '3' then chr = "DEL"    ; chr = "C-DEL"    if STDIN.getc == "^"
      when '5' then chr = "PgUP"   ; chr = "C-PgUP"   if STDIN.getc == "^"
      when '6' then chr = "PgDOWN" ; chr = "C-PgDOWN" if STDIN.getc == "^"
      when '7' then chr = "HOME"   ; chr = "C-HOME"   if STDIN.getc == "^"
      when '8' then chr = "END"    ; chr = "C-END"    if STDIN.getc == "^"
      end
    when 'O'
      case $stdin.getc
      when 'a' then chr = "C-UP"
      when 'b' then chr = "C-DOWN"
      when 'c' then chr = "C-RIGHT"
      when 'd' then chr = "C-LEFT"
      end
    end
  when "", "" then chr = "BACK"
  when "" then chr = "WBACK"
  when "" then chr = "LDEL"
  when "" then chr = "C-T"
  when "\r" then chr = "ENTER"
  when "\t" then chr = "TAB"
  when /./  then chr = c
  end
  return chr
end
main_getkey() click to toggle source
# File lib/curses-template.rb, line 160
def main_getkey # GET KEY FROM USER
  chr = getchr
  case chr
  when '?' # Show helptext in right window
    # Add code to show help text here
  when 'UP' # Examples of moving up and down in a window
    @index = @index <= @min_index ? @max_index : @index - 1
  when 'DOWN'
    @index = @index >= @max_index ? @min_index : @index + 1
  when 'PgUP'
    @index -= @w_l.maxy - 2
    @index = @min_index if @index < @min_index
  when 'PgDOWN'
    @index += @w_l.maxy - 2
    @index = @max_index if @index > @max_index
  when 'HOME'
    @index = @min_index
  when 'END'
    @index = @max_index
  when 'l'
    # ...etc
  when 'r'
    @break = true
  when 'q' # Exit
    exit 0
  end
end