Use IO#getch to read one char in raw mode

This commit is contained in:
Nobuyoshi Nakada 2019-09-08 21:04:46 +09:00 коммит произвёл aycabta
Родитель 89c5d5a64e
Коммит 805b0a4811
1 изменённых файлов: 3 добавлений и 8 удалений

Просмотреть файл

@ -1,3 +1,5 @@
require 'io/console'
class Reline::ANSI
RAW_KEYSTROKE_CONFIG = {
[27, 91, 65] => :ed_prev_history, # ↑
@ -24,14 +26,7 @@ class Reline::ANSI
unless @@buf.empty?
return @@buf.shift
end
c = nil
loop do
result = select([@@input], [], [], 0.1)
next if result.nil?
c = @@input.read(1)
break
end
c&.ord
@@input.getch&.ord
end
def self.ungetc(c)