Module: EventReporter::AcceptAnyInput

Defined in:
lib/event_reporter/accept_any_input.rb

Class Method Summary collapse

Class Method Details

.get_charObject



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/event_reporter/accept_any_input.rb', line 18

def get_char
  c = STDIN.getc.chr
  if(c=="\e")
    extra_thread = Thread.new{
      c = c + STDIN.getc.chr
      c = c + STDIN.getc.chr
    }
    extra_thread.join(0.00001)
    extra_thread.kill
  end
  c
end

.read_charObject



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/event_reporter/accept_any_input.rb', line 4

def read_char
  begin
    old_state = `stty -g`
    system "stty raw -echo"
    c = get_char
  rescue => ex
    puts "#{ex.class}: #{ex.message}"
    puts ex.backtrace
  ensure
    system "stty #{old_state}"
  end
  return c
end