Class: SamsungTvSearchKeyboard
- Defined in:
- lib/keyboard/samsung_tv/samsung_tv_search_keyboard.rb
Constant Summary
Constants inherited from Keyboard
Instance Method Summary collapse
-
#initialize(*args) ⇒ SamsungTvSearchKeyboard
constructor
A new instance of SamsungTvSearchKeyboard.
Methods inherited from Keyboard
Constructor Details
#initialize(*args) ⇒ SamsungTvSearchKeyboard
Returns a new instance of SamsungTvSearchKeyboard.
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 |
# File 'lib/keyboard/samsung_tv/samsung_tv_search_keyboard.rb', line 6 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] ] @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, 'J'], [:LETTERS, 'K'], [: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, '2'], [:LETTERS, '3'], [:NUMBERS, '5'], [:SYMBOLS, '7'], [:SYMBOLS, '8'], [:SYMBOLS, '9'], [:SYMBOLS, '0'], [:LETTERS, '-'], [:LETTERS, "'"], [:LETTERS, '?'], [:LETTERS, '.'], [:LETTERS, '!'], [:LETTERS, '#'], [:NUMBERS, '&'], [:NUMBERS, '%'], [:SYMBOLS, '<'], [:SYMBOLS, '>'], [:SYMBOLS, ':'], [:SYMBOLS, ';'], [:SYMBOLS, '='], [:SYMBOLS, '+'], [:SYMBOLS, '*'], [:SYMBOLS, ','], [:LETTERS, :SPACE], [:LETTERS, :BACKSPACE], [:LETTERS, :SYMBOLS], [:SYMBOLS, :LETTERS] ] end |