lib/maclight/cli.rb in maclight-2.0.0 vs lib/maclight/cli.rb in maclight-3.0.0
- old
+ new
@@ -12,68 +12,111 @@
trigger :version do
puts "MacLight v#{MacLight::VERSION}"
end
end
- desc "Toggle keyboard LEDs"
- text "Toggle keyboard LEDs (capslock, numlock)"
- opt :capslock, "Toggle capslock LED", :default => false
- opt :numlock, "Toggle numlock LED", :default => false
- opt :verbose, "Print current state of capslock, numlock"
- parent "keyboard", "Control keyboard LEDs"
- def toggle(cmd, opts, argv)
- raise Optix::HelpNeeded unless opts.values_at(:capslock, :numlock, :verbose).any?
- MacLight.capslock(!MacLight.capslock) if opts[:capslock]
- MacLight.numlock(!MacLight.numlock) if opts[:numlock]
- puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
- end
+ # Commenting out most functionality
+ # until we get around to restore it.
+ # For now MacLight can only toggle all
+ # LEDs at once on and off.
+
+ #desc "Toggle keyboard LEDs"
+ #text "Toggle keyboard LEDs (capslock, numlock)"
+ #opt :capslock, "Toggle capslock LED", :default => false
+ #opt :numlock, "Toggle numlock LED", :default => false
+ #opt :verbose, "Print current state of capslock, numlock"
+ #parent "keyboard", "Control keyboard LEDs"
+ #def toggle(cmd, opts, argv)
+ # raise Optix::HelpNeeded unless opts.values_at(:capslock, :numlock, :verbose).any?
+ # MacLight.capslock(!MacLight.capslock) if opts[:capslock]
+ # MacLight.numlock(!MacLight.numlock) if opts[:numlock]
+ # puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
+ #end
+
desc "Set keyboard LEDs state"
text "Set keyboard LEDs (capslock, numlock) state (on, off)"
- opt :capslock, "Set capslock LED (0|1)", :type => Integer
- opt :numlock, "Set numlock LED (0|1)", :type => Integer
- opt :verbose, "Print current state of capslock, numlock"
+ opt :all, "Set all LEDs (0|1)", :type => Integer
+ #opt :capslock, "Set capslock LED (0|1)", :type => Integer
+ #opt :numlock, "Set numlock LED (0|1)", :type => Integer
+ #opt :verbose, "Print current state of capslock, numlock"
parent "keyboard"
def set(cmd, opts, argv)
- raise Optix::HelpNeeded unless opts.values_at(:capslock, :numlock, :verbose).any?
- MacLight.capslock(1 == opts[:capslock]) unless opts[:capslock].nil?
- MacLight.numlock(1 == opts[:numlock]) unless opts[:numlock].nil?
- puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
+ raise Optix::HelpNeeded unless opts.values_at(:all).any?
+ MacLight.all_leds(1 == opts[:all])
+ #MacLight.capslock(1 == opts[:capslock]) unless opts[:capslock].nil?
+ #MacLight.numlock(1 == opts[:numlock]) unless opts[:numlock].nil?
+ #puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
end
desc "Blink keyboard LEDs"
- text "Blink keyboard LEDs (capslock, numlock)"
+ text "Blink keyboard LEDs"
text ''
text "Examples:"
- text " #{File.basename($0)} keyboard blink -r 3 -f 00 10:0.3 01:0.3"
- text " #{File.basename($0)} keyboard blink -r 3 10:0.3 01:0.2 00:0.1 11:0.2 00:0.07 11:0.07 00:0.07"
+ text " #{File.basename($0)} keyboard blink -r 3 -f 0 1:0.3 0:0.3"
+ text " #{File.basename($0)} keyboard blink -r 3 1:0.3 0:0.2 0:0.1 1:0.2 0:0.07 1:0.07 0:0.07"
text ''
text 'Parameters:'
- text ' <sequence> - Space-delimited sequence; CN:T CN:T ..'
- text ' C = capslock value, N = numlock value, T = time in seconds'
+ text ' <sequence> - Space-delimited sequence; V:T V:T ..'
+ text ' V = led value, T = time in seconds'
opt :repeat, "Repetitions", :default => 0
opt :fin, "Set this state after sequence has finished (CN)", :type => String
- opt :verbose, "Print state of capslock, numlock"
params "<sequence>"
parent "keyboard"
def blink(cmd, opts, argv)
raise Optix::HelpNeeded if argv.empty?
- puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
- seq = argv.map {|e| ['1'==e[0],'1'==e[1],e[3..-1].to_f] }
+ seq = argv.map {|e| ['1'==e[0],e[2..-1].to_f] }
(0..opts[:repeat]).each do |i|
seq.each_with_index do |mode, step|
- MacLight.capslock(mode[0])
- MacLight.numlock(mode[1])
- puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
- sleep mode[2]
+ MacLight.all_leds(mode[0])
+ sleep mode[1]
end
end
if opts[:fin]
- MacLight.capslock('1'==opts[:fin][0])
- MacLight.numlock('1'==opts[:fin][1])
- puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
+ MacLight.all_leds('1'==opts[:fin][0])
end
end
+
+ desc "Play a short test sequence"
+ text "Play a short test sequence"
+ parent "keyboard"
+ def test(cmd, opts, argv)
+ blink(nil, { :repeat => 3 }, %w(1:0.3 0:0.2 0:0.1 1:0.2 0:0.07 1:0.07 0:0.07))
+ end
+
+ #desc "Blink keyboard LEDs"
+ #text "Blink keyboard LEDs (capslock, numlock)"
+ #text ''
+ #text "Examples:"
+ #text " #{File.basename($0)} keyboard blink -r 3 -f 00 10:0.3 01:0.3"
+ #text " #{File.basename($0)} keyboard blink -r 3 10:0.3 01:0.2 00:0.1 11:0.2 00:0.07 11:0.07 00:0.07"
+ #text ''
+ #text 'Parameters:'
+ #text ' <sequence> - Space-delimited sequence; CN:T CN:T ..'
+ #text ' C = capslock value, N = numlock value, T = time in seconds'
+ #opt :repeat, "Repetitions", :default => 0
+ #opt :fin, "Set this state after sequence has finished (CN)", :type => String
+ #opt :verbose, "Print state of capslock, numlock"
+ #params "<sequence>"
+ #parent "keyboard"
+ #def blink(cmd, opts, argv)
+ # raise Optix::HelpNeeded if argv.empty?
+ # puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
+ # seq = argv.map {|e| ['1'==e[0],'1'==e[1],e[3..-1].to_f] }
+ # (0..opts[:repeat]).each do |i|
+ # seq.each_with_index do |mode, step|
+ # MacLight.capslock(mode[0])
+ # MacLight.numlock(mode[1])
+ # puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
+ # sleep mode[2]
+ # end
+ # end
+ # if opts[:fin]
+ # MacLight.capslock('1'==opts[:fin][0])
+ # MacLight.numlock('1'==opts[:fin][1])
+ # puts "#{MacLight.capslock ? 1:0} #{MacLight.numlock ? 1:0}" if opts[:verbose]
+ # end
+ #end
def self.start
Optix.invoke!
end
end