1

私はしようとしてCurses.getchrいますが、のようなキーCtrl+sはキャプチャされません、私がそれらをキャプチャすることを可能にするライブラリはありますか、そして何よりも直感的で読みやすいものがあります

FooBar.bind('Ctrl+s'){ raise "dont save!" }
4

1 に答える 1

3

Ctrl+s通常は端末によってCurses取得されるため、そのキーをキャプチャするにはrawモードにする必要があります。次に例を示します。

#!/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
于 2011-01-05T21:08:19.173 に答える