我正在尝试Curses.getchr
,但是没有捕获像 Ctrl + s 这样的键,是否有任何lib可以让我捕获它们,最重要的是直观/可读的像< / p>
FooBar.bind('Ctrl+s'){ raise "dont save!" }
答案 0 :(得分:3)
Ctrl + s 通常由终端抓取,因此您必须将Curses
置于原始模式才能捕获该密钥。这是一个例子:
#!/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