Class: RokuRsgSearchKeyboard
- Defined in:
- lib/keyboard/roku/roku_rsg_search_keyboard.rb
Direct Known Subclasses
Constant Summary
Constants inherited from Keyboard
Instance Method Summary collapse
-
#initialize(*args) ⇒ RokuRsgSearchKeyboard
constructor
A new instance of RokuRsgSearchKeyboard.
Methods inherited from Keyboard
Constructor Details
#initialize(*args) ⇒ RokuRsgSearchKeyboard
Returns a new instance of RokuRsgSearchKeyboard.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/keyboard/roku/roku_rsg_search_keyboard.rb', line 5 def initialize(*args) super(*args) # see Keyboard for explanation of layouts letters = [ [ :SPACE, :BACKSPACE, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ], [ :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :NUMBERS, :NUMBERS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS ] ] numbers = [ [:SPACE, :BACKSPACE, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'], [ :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :NUMBERS, :NUMBERS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS ] ] symbols = [ [ :SPACE, :BACKSPACE, '-', "'", '?', '!', '@', '#', '$', '&', '%', '`', '.', '_', '<', '>', ':', ';', '=', '+', '*', ',' ], [ :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :LETTERS, :NUMBERS, :NUMBERS, :NUMBERS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS, :SYMBOLS ] ] @layouts << KeyboardLayout.new(letters, [0, 2], nav_to_key: :LETTERS, name: 'search letters') @layouts << KeyboardLayout.new(numbers, [1, 5], nav_to_key: :NUMBERS, name: 'search numbers') @layouts << KeyboardLayout.new(symbols, [1,12], nav_to_key: :SYMBOLS, name: 'search symbols') @key_delay = 2.sec @wrap_cols = true # Do not traverse from any of the multi-column keys except to the key above-left of it, since they always left-justify. # Do not traverse from LETTERS to SPACE or BACKSPACE as it is not possible. # Do not traverse from LETTERS to SYMBOLS and vice versa since that row doesn't actually wrap. @deny_traversals = [ [:LETTERS, 'A'], [:LETTERS, 'B'], [:LETTERS, 'C'], [:LETTERS, 'D'], [:LETTERS, 'E'], [:LETTERS, 'F'], [:LETTERS, 'G'], [:LETTERS, 'H'], [:LETTERS, 'I'], [:LETTERS, 'J'], [:NUMBERS, 'M'], [:SYMBOLS, 'O'], [:SYMBOLS, 'P'], [:SYMBOLS, 'Q'], [:SYMBOLS, 'R'], [:SYMBOLS, 'S'], [:SYMBOLS, 'T'], [:SYMBOLS, 'U'], [:SYMBOLS, 'V'], [:SYMBOLS, 'W'], [:SYMBOLS, 'X'], [:SYMBOLS, 'Y'], [:SYMBOLS, 'Z'], [:LETTERS, '1'], [:LETTERS, '2'], [:NUMBERS, '5'], [:SYMBOLS, '7'], [:SYMBOLS, '8'], [:SYMBOLS, '9'],[:SYMBOLS, '0'], [:LETTERS, '-'], [:LETTERS, "'"], [:LETTERS, '?'], [:LETTERS, '!'], [:LETTERS, '@'], [:LETTERS, '#'], [:LETTERS, '$'], [:NUMBERS, '`'], [:SYMBOLS, '_'], [:SYMBOLS, '<'], [:SYMBOLS, '>'], [:SYMBOLS, ':'], [:SYMBOLS, ';'], [:SYMBOLS, '='], [:SYMBOLS, '+'], [:SYMBOLS, '*'], [:SYMBOLS, ','], [:LETTERS, :SPACE], [:LETTERS, :BACKSPACE], [:LETTERS, :SYMBOLS], [:SYMBOLS, :LETTERS] ] end |