Module: Rubber::Ducky::Common

Defined in:
lib/rubber-ducky/common.rb

Constant Summary collapse

DECODER_COMMAND_KEYS =
[
  'DELAY', 'SPACE', 'CTRL', 'ALT', 'GUI', 'WINDOWS', 'ESC', 'ESCAPE',
  'PRINTSCREEN', 'INSERT', 'HOME', 'DELETE', 'END', 'ENTER', 'PAGEUP',
  'PAGEDOWN', 'LEFTARROW', 'LEFT', 'DOWNARROW', 'DOWN', 'RIGHTARROW',
  'RIGHT', 'UPARROW', 'UP', 'SCROLLLOCK', 'WINDOWS', 'MENU', 'TAB',
  'CAPSLOCK', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9',
  'F10', 'F11', 'F12', 'GUI R', 'GUI D', 'CTRL-ALT', 'CTRL-SHIFT',
  'ALT-SHIFT', 'CONTROL', 'ESCAPE', 'DELAY', 'DEFAULTDELAY',
  'DEFAULT_DELAY', 'CTRL S', 'CTRL V', 'CTRL X', 'CTRL Z', 'CTRL C',
  'ALT F4', 'WAKE', 'SLEEP', 'APP', 'STOP', 'POWER'
].freeze

Class Method Summary collapse

Class Method Details

.convert_hex(int_value) ⇒ Object



16
17
18
# File 'lib/rubber-ducky/common.rb', line 16

def self.convert_hex(int_value)
  format('%02X', int_value)
end

.list_languagesObject



20
21
22
23
24
25
26
27
# File 'lib/rubber-ducky/common.rb', line 20

def self.list_languages
  languages = []
  lang_dir = File.join(File.dirname(__FILE__), '..', 'languages')
  Dir.glob("#{lang_dir}/*.json").each do |filename|
    languages << File.basename(filename, '.json')
  end
  languages
end

.load_language(language) ⇒ Object



29
30
31
32
33
# File 'lib/rubber-ducky/common.rb', line 29

def self.load_language(language)
  lang_dir = File.join(File.dirname(__FILE__), '..', 'languages')
  language_file = File.join(lang_dir, "#{language}.json")
  JSON.parse(File.read(language_file))
end