Question

Im essayant de Curses.getchr, mais les touches comme Ctrl + s ne sont pas capturés, est-il lib qui me permettrait de les capturer et le meilleur de tous quelque chose intuitive / lisible comme

FooBar.bind('Ctrl+s'){ raise "dont save!" }
Était-ce utile?

La solution

Ctrl + s est habituellement saisi par le terminal, de sorte que vous devez mettre Curses en mode brut pour saisir cette clé. Voici un exemple:

#!/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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top