Maldiciones de Ruby: Cómo obtener Ctrl/meta teclas con
Pregunta
Estoy tratando de Curses.getchr
, pero llaves como Ctrl+S no son capturados, ¿hay alguna lib que me permita capturarlos y lo mejor de todo algo intuitivo/legible como
FooBar.bind('Ctrl+s'){ raise "dont save!" }
Solución
Ctrl+S generalmente es agarrado por la terminal, por lo que tienes que poner Curses
en modo RAW para capturar esa tecla. Aquí hay un ejemplo:
#!/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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow