でイベントをスクロールして対処することができ、そしてそれは、コンソールは、どのように私はアップル端子
私はそれが別の画面にうまく動作しますが、疑問を持ってい私はアップルターミナルでスクロールすると、コードはスクロール操作をキャッチしますが、端末に^[OA
を印刷することはできません。 これはiTerm.app
に発生しませんとTerminal.app
でless
またはvim
を使用している場合、これはまた、私は、私はスクロール操作を読むことができるし、表示されません方法を得ることを期待発生しません端末固有の機能です
#!/usr/bin/env ruby
require 'io/console'
def rc
STDIN.echo = false
STDIN.raw!
input = STDIN.getc.chr
if input == "\e" then
input << STDIN.read_nonblock(3) rescue nil
input << STDIN.read_nonblock(2) rescue nil
end
ensure
STDIN.echo = true
STDIN.cooked!
return input
STDIN.getch
end
print "\e[?1049h"
print "\e[?1h"
print "\e="
print "\e[1;24r"
loop do
c = rc
break if c == "\u0003"
p c
print c
end
print "\e[?1049l"