Ruby maudit: Comment obtenir les clés ctrl / meta
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!" }
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