Hotkeys refer to key bindings which are attached to one window, and respond to the normal keyboard when that window has focus (unless a text-entry widget is activated.) Before version 0.933 hotkey bindings were defined in the xml skin files, and could only be changed by editing the skin xml file. As of version 0.933, hotkey bindings are part of the input binding file format (also xml) and are stored outside the skin files. The skin file wheel-mp3.xml references a file of bindings, wheelshotkeys.xml. To extend or change the hotkey bindings, a user can copy the binding file into ~/.gdam/skins/ and edit it. Their copy of the file will be found whenever a skin file references it.
The binding file format is described elsewhere. All of our hotkeys are defined using the gdam_packer_trap_key_press handler. Example Handler:
gdam_packer_trap_key_press:e:tt1:gdam_skin_arg_int:play_or_synch:-1 |
Example Handler:
gdam_packer_trap_key_press:q:tt1:gdam_skin_arg_double:seek_by_bars:-2 |