Sha256: 4e77eb56f5d3f6cf9cbc753e5a0d54a97132c99f335efe47eb3e132d810b21ae
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 KB
Contents
=begin Copyright 2010, Roger Pack This file is part of Sensible Cinema. Sensible Cinema is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Sensible Cinema is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Sensible Cinema. If not, see <http://www.gnu.org/licenses/>. =end require 'Win32API' # does the jruby check inline class KeyboardInput def initialize fella @fella = fella end def start_thread Thread.new { loop { print get_line_printout sleep 0.1 } } end def get_line_printout status = @fella.status # some scary hard coded values here...LODO curses? " " * 20 + "\b"*150 + status end def getch @getch ||= Win32API.new('crtdll', '_getch', [], 'L') @getch.call end def handle_keystrokes_forever raise 'only jruby supported, as it looks just too messy in normal ruby' unless OS.java? while(ch = getch) exit if ch == 3 # ctrl+c # lodo handle arrow keys, too, which is a bit more complicated... handle_keystroke ch end end def handle_keystroke ch string = "" << ch @fella.keyboard_input(string) end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
content-editing-movie-player-0.38.0 | lib/keyboard_input.rb |
sensible-cinema-0.35.3 | lib/keyboard_input.rb |
sensible-cinema-0.34.0 | lib/keyboard_input.rb |