我试着去Curses.getchr,但像钥匙<大骨节病> CTRL + S 不捕获,没有任何的lib,让我捕捉到他们以及所有最好的东西直观/可读像

FooBar.bind('Ctrl+s'){ raise "dont save!" }
有帮助吗?

解决方案

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top