Class: Soundcloud2000::UI::Input

Inherits:
Object
  • Object
show all
Defined in:
lib/soundcloud2000/ui/input.rb

Constant Summary collapse

MAPPING =
{
  Curses::KEY_LEFT   => :left,
  Curses::KEY_RIGHT  => :right,
  Curses::KEY_DOWN   => :down,
  Curses::KEY_UP     => :up,
  Curses::KEY_CTRL_J => :enter,
  Curses::KEY_ENTER  => :enter,
  ' '                => :space,
  'j'                => :j,
  'k'                => :k,
  's'                => :s,
  'u'                => :u,
  '1'                => :one,
  '2'                => :two,
  '3'                => :three,
  '4'                => :four,
  '5'                => :five,
  '6'                => :six,
  '7'                => :seven,
  '8'                => :eight,
  '9'                => :nine,
  'f'                => :f
}

Class Method Summary collapse

Class Method Details

.get(delay = 0) ⇒ Object



30
31
32
33
# File 'lib/soundcloud2000/ui/input.rb', line 30

def self.get(delay = 0)
  Curses.timeout = delay
  MAPPING[Curses.getch]
end

.getstr(prompt) ⇒ Object



35
36
37
38
39
40
41
42
43
44
# File 'lib/soundcloud2000/ui/input.rb', line 35

def self.getstr(prompt)
  Curses.setpos(Curses.lines - 1, 0)
  Curses.addstr(prompt)
  Curses.echo
  result = Curses.getstr
  Curses.noecho
  Curses.setpos(Curses.lines - 1, 0)
  Curses.addstr(''.ljust(Curses.cols))
  result
end