Sha256: 817c331fb5dbc5347f9af0807a078fa0707f43dab0c38a765bc619a2636bf62d
Contents?: true
Size: 857 Bytes
Versions: 3
Compression:
Stored size: 857 Bytes
Contents
class Keyboard A_TO_Z = ('a'..'z').to_a def self.listen loop do key = Curses.getch code = case key # move when Curses::Key::UP then :up when Curses::Key::DOWN then :down when Curses::Key::RIGHT then :right when Curses::Key::LEFT then :left when Curses::KEY_END then :end when Curses::KEY_HOME then :home when Curses::KEY_NPAGE then :page_down when Curses::KEY_PPAGE then :page_up # modify when 9 then :tab when 13 then :enter # shadows Ctrl+m when 32..126 then key # printable when 263, 127 then :backspace # ubuntu / mac when Curses::KEY_DC then :delete # misc when 0 then :"Ctrl+space" when 1..26 then :"Ctrl+#{A_TO_Z[key-1]}" when 27 then :escape else key end yield code end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruco-0.0.11 | lib/ruco/keyboard.rb |
ruco-0.0.10 | lib/ruco/keyboard.rb |
ruco-0.0.9 | lib/ruco/keyboard.rb |