# File lib/highline/system_extensions.rb, line 73 def get_character( input = STDIN ) return input.getbyte if input.is_a? StringIO old_settings = Termios.getattr(input) new_settings = old_settings.dup new_settings.c_lflag &= ~(Termios::ECHO | Termios::ICANON) new_settings.c_cc[Termios::VMIN] = 1 begin Termios.setattr(input, Termios::TCSANOW, new_settings) input.getbyte ensure Termios.setattr(input, Termios::TCSANOW, old_settings) end end