Class: Karabiner::Vkopenurldef

Inherits:
Object
  • Object
show all
Includes:
XmlTree
Defined in:
lib/karabiner/vkopenurldef.rb

Class Method Summary collapse

Methods included from XmlTree

#add_child, #search_childs, #to_xml

Class Method Details

.application_keycode(application) ⇒ Object



6
7
8
# File 'lib/karabiner/vkopenurldef.rb', line 6

def self.application_keycode(application)
  "VK_OPEN_URL_APP_#{application.gsub(/ /, "_")}"
end

.for_application(application) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/karabiner/vkopenurldef.rb', line 14

def self.for_application(application)
  self.new.tap do |definition|
    name = Karabiner::Property.new("name", "KeyCode::#{application_keycode(application)}")
    url  = Karabiner::Property.new("url", "/Applications/#{application}.app", type: "file")
    definition.add_child(name, url)
  end
end

.for_script(script) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/karabiner/vkopenurldef.rb', line 22

def self.for_script(script)
  self.new.tap do |definition|
    name = Karabiner::Property.new("name", "KeyCode::#{script_keycode(script)}")
    url  = Karabiner::Property.new("url", "<![CDATA[ #{script} ]]>", type: "shell")
    definition.add_child(name, url)
  end
end

.script_keycode(script) ⇒ Object



10
11
12
# File 'lib/karabiner/vkopenurldef.rb', line 10

def self.script_keycode(script)
  "VK_OPEN_URL_SHELL_#{script.gsub(/[^a-zA-Z]/, "_")}"
end