Ruby Curses: Как получить клавиши Ctrl / Meta с
Вопрос
Я пытаюсь Curses.getchr
, но ключевые ключи любят Ctrl + S. не поймаются, есть ли lib, которые позволили бы мне запечатлеть их и лучше всего что-то интуитивно понятное / читаемое
FooBar.bind('Ctrl+s'){ raise "dont save!" }
Решение
Ctrl + S. обычно схватился терминалом, поэтому вы должны поставить Curses
в RAW MODE для захвата этой клавиши. Вот пример:
#!/usr/bin/ruby
require 'curses'
Curses.raw # intercept everything
Curses.noecho
loop do
case Curses.getch
when ?q then break
when ?b then Curses.addch ?b
when ?\C-s then Curses.addstr "^s" # Ctrl+S
end
end
Не связан с StackOverflow