Test Keys[]
- Written for/on: A560
- Also works on: All the models
- Required CHDK build: any (tested with SDM-CHDK)
Useful script to know the button names on your model: will wait for a key to be pressed and print its name on the console.
Script Code (save as "test-keys.bas" to your /CHDK/SCRIPTS/ folder)
@title Test Keys sleep 1000 :loop print "Press a key" wait_click 2500 is_key k "left" if k=1 then gosub "kleft" is_key k "right" if k=1 then gosub "kright" is_key k "down" if k=1 then gosub "kdown" is_key k "up" if k=1 then gosub "kup" is_key k "print" if k=1 then gosub "kprint" is_key k "erase" if k=1 then gosub "kerase" is_key k "set" if k=1 then gosub "kset" is_key k "menu" if k=1 then gosub "kmenu" is_key k "display" if k=1 then gosub "kdisplay" is_key k "no_key" if k=1 then gosub "timeout" goto "loop" :timeout print "timeout" goto "end" :kleft print "left" return :kup print "up" return :kdown print "down" return :kright print "right" return :kprint print "print" return :kerase print "erase" return :kset print "set" return :kmenu print "menu" return :kdisplay print "display" return :end end
Here's an updated version that has the keys for the S series cameras (macro, flash, timer, video, iso, mf) and I also added zoom in and zoom out. And I got rid of the time limit so the script now runs as long as you want.
@title Test Keys sleep 1000 print "Press a key" :loop wait_click is_key k "left" if k=1 then gosub "kleft" is_key k "right" if k=1 then gosub "kright" is_key k "down" if k=1 then gosub "kdown" is_key k "up" if k=1 then gosub "kup" is_key k "print" if k=1 then gosub "kprint" is_key k "erase" if k=1 then gosub "kerase" is_key k "set" if k=1 then gosub "kset" is_key k "menu" if k=1 then gosub "kmenu" is_key k "display" if k=1 then gosub "kdisplay" is_key k "no_key" if k=1 then gosub "unknown" is_key k "zoom_in" if k=1 then gosub "zoom_in" is_key k "zoom_out" if k=1 then gosub "zoom_out" rem begin S series buttons is_key k "video" if k=1 then gosub "video" is_key k "iso" if k=1 then gosub "iso" is_key k "flash" if k=1 then gosub "flash" is_key k "mf" if k=1 then gosub "mf" is_key k "timer" if k=1 then gosub "timer" is_key k "macro" if k=1 then gosub "macro" goto "loop" :unknown print "unknown key" return :kleft print "left" return :kup print "up" return :kdown print "down" return :kright print "right" return :kprint print "print" return :kerase print "erase" return :kset print "set" return :kmenu print "menu" return :kdisplay print "display" return :zoom_in print "zoom_in" return :zoom_out print "zoom_out" return rem Begin S series buttons :video print "video" return :iso print "iso" return :flash print "flash" return :mf print "mf" return :macro print "macro" return :timer print "timer" return :macro print "macro" return :end end