diff options
-rw-r--r-- | help.txt | 4 | ||||
-rw-r--r-- | plugins/hotkeys/hotkeys.c | 17 | ||||
-rw-r--r-- | plugins/hotkeys/keysyms.inc | 186 |
3 files changed, 205 insertions, 2 deletions
@@ -20,11 +20,13 @@ syntax is following: some examples: Ctrl Alt c: toggle_pause -Ctrl Alt z: prev +Ctrl 0x76: prev Ctrl Alt b: next Ctrl Alt v: stop Ctrl Alt x: play Ctrl Alt n: play_random +Super u: volume_up +XF86AudioLowerVolume: volume_down full list of actions: diff --git a/plugins/hotkeys/hotkeys.c b/plugins/hotkeys/hotkeys.c index 8b09ecd0..e0ea637c 100644 --- a/plugins/hotkeys/hotkeys.c +++ b/plugins/hotkeys/hotkeys.c @@ -20,6 +20,7 @@ #include <string.h> #include <unistd.h> #include <X11/Xlib.h> +#include <ctype.h> #include "../../deadbeef.h" @@ -216,8 +217,22 @@ read_config( Display *disp ) else if ( 0 == strcasecmp( p, "Shift" ) ) cmd_entry->modifier |= ShiftMask; + else if ( 0 == strcasecmp( p, "Super" ) ) { + cmd_entry->modifier |= Mod2Mask; + } + else { - cmd_entry->keycode = get_keycode( disp, p ); + if (p[0] == '0' && p[1] == 'x') { + // parse hex keycode + int r = sscanf (p, "0x%x", &cmd_entry->keycode); + if (!r) { + cmd_entry->keycode = 0; + } + } + else { + // lookup name table + cmd_entry->keycode = get_keycode( disp, p ); + } if ( !cmd_entry->keycode ) { fprintf( stderr, "hotkeys: [Config line %d] Unknown key: <%s>\n", line_nr, key ); diff --git a/plugins/hotkeys/keysyms.inc b/plugins/hotkeys/keysyms.inc index e107a613..af164fef 100644 --- a/plugins/hotkeys/keysyms.inc +++ b/plugins/hotkeys/keysyms.inc @@ -2003,3 +2003,189 @@ KEY("braille_dots_345678", 0x10028fc) KEY("braille_dots_1345678", 0x10028fd) KEY("braille_dots_2345678", 0x10028fe) KEY("braille_dots_12345678", 0x10028ff) + +KEY("XF86MonBrightnessUp", 0x1008FF02) +KEY("XF86MonBrightnessDown", 0x1008FF03) +KEY("XF86KbdLightOnOff", 0x1008FF04) +KEY("XF86KbdBrightnessUp", 0x1008FF05) +KEY("XF86KbdBrightnessDown", 0x1008FF06) + +KEY("XF86Standby", 0x1008FF10) +KEY("XF86AudioLowerVolume", 0x1008FF11) +KEY("XF86AudioMute", 0x1008FF12) +KEY("XF86AudioRaiseVolume", 0x1008FF13) +KEY("XF86AudioPlay", 0x1008FF14) +KEY("XF86AudioStop", 0x1008FF15) +KEY("XF86AudioPrev", 0x1008FF16) +KEY("XF86AudioNext", 0x1008FF17) +KEY("XF86HomePage", 0x1008FF18) +KEY("XF86Mail", 0x1008FF19) +KEY("XF86Start", 0x1008FF1A) +KEY("XF86Search", 0x1008FF1B) +KEY("XF86AudioRecord", 0x1008FF1C) + + +KEY("XF86Calculator", 0x1008FF1D) +KEY("XF86Memo", 0x1008FF1E) +KEY("XF86ToDoList", 0x1008FF1F) +KEY("XF86Calendar", 0x1008FF20) +KEY("XF86PowerDown", 0x1008FF21) +KEY("XF86ContrastAdjust", 0x1008FF22) +KEY("XF86RockerUp", 0x1008FF23) +KEY("XF86RockerDown", 0x1008FF24) +KEY("XF86RockerEnter", 0x1008FF25) + + +KEY("XF86Back", 0x1008FF26) +KEY("XF86Forward", 0x1008FF27) +KEY("XF86Stop", 0x1008FF28) +KEY("XF86Refresh", 0x1008FF29) +KEY("XF86PowerOff", 0x1008FF2A) +KEY("XF86WakeUp", 0x1008FF2B) +KEY("XF86Eject", 0x1008FF2C) +KEY("XF86ScreenSaver", 0x1008FF2D) +KEY("XF86WWW", 0x1008FF2E) +KEY("XF86Sleep", 0x1008FF2F) +KEY("XF86Favorites", 0x1008FF30) +KEY("XF86AudioPause", 0x1008FF31) +KEY("XF86AudioMedia", 0x1008FF32) +KEY("XF86MyComputer", 0x1008FF33) +KEY("XF86VendorHome", 0x1008FF34) +KEY("XF86LightBulb", 0x1008FF35) +KEY("XF86Shop", 0x1008FF36) +KEY("XF86History", 0x1008FF37) +KEY("XF86OpenURL", 0x1008FF38) +KEY("XF86AddFavorite", 0x1008FF39) +KEY("XF86HotLinks", 0x1008FF3A) +KEY("XF86BrightnessAdjust", 0x1008FF3B) +KEY("XF86Finance", 0x1008FF3C) +KEY("XF86Community", 0x1008FF3D) +KEY("XF86AudioRewind", 0x1008FF3E) +KEY("XF86BackForward", 0x1008FF3F) +KEY("XF86Launch0", 0x1008FF40) +KEY("XF86Launch1", 0x1008FF41) +KEY("XF86Launch2", 0x1008FF42) +KEY("XF86Launch3", 0x1008FF43) +KEY("XF86Launch4", 0x1008FF44) +KEY("XF86Launch5", 0x1008FF45) +KEY("XF86Launch6", 0x1008FF46) +KEY("XF86Launch7", 0x1008FF47) +KEY("XF86Launch8", 0x1008FF48) +KEY("XF86Launch9", 0x1008FF49) +KEY("XF86LaunchA", 0x1008FF4A) +KEY("XF86LaunchB", 0x1008FF4B) +KEY("XF86LaunchC", 0x1008FF4C) +KEY("XF86LaunchD", 0x1008FF4D) +KEY("XF86LaunchE", 0x1008FF4E) +KEY("XF86LaunchF", 0x1008FF4F) + +KEY("XF86ApplicationLeft", 0x1008FF50) +KEY("XF86ApplicationRight", 0x1008FF51) +KEY("XF86Book", 0x1008FF52) +KEY("XF86CD", 0x1008FF53) +KEY("XF86Calculater", 0x1008FF54) +KEY("XF86Clear", 0x1008FF55) +KEY("XF86Close", 0x1008FF56) +KEY("XF86Copy", 0x1008FF57) +KEY("XF86Cut", 0x1008FF58) +KEY("XF86Display", 0x1008FF59) +KEY("XF86DOS", 0x1008FF5A) +KEY("XF86Documents", 0x1008FF5B) +KEY("XF86Excel", 0x1008FF5C) +KEY("XF86Explorer", 0x1008FF5D) +KEY("XF86Game", 0x1008FF5E) +KEY("XF86Go", 0x1008FF5F) +KEY("XF86iTouch", 0x1008FF60) +KEY("XF86LogOff", 0x1008FF61) +KEY("XF86Market", 0x1008FF62) +KEY("XF86Meeting", 0x1008FF63) +KEY("XF86MenuKB", 0x1008FF65) +KEY("XF86MenuPB", 0x1008FF66) +KEY("XF86MySites", 0x1008FF67) +KEY("XF86New", 0x1008FF68) +KEY("XF86News", 0x1008FF69) +KEY("XF86OfficeHome", 0x1008FF6A) +KEY("XF86Open", 0x1008FF6B) +KEY("XF86Option", 0x1008FF6C) +KEY("XF86Paste", 0x1008FF6D) +KEY("XF86Phone", 0x1008FF6E) +KEY("XF86Q", 0x1008FF70) +KEY("XF86Reply", 0x1008FF72) +KEY("XF86Reload", 0x1008FF73) +KEY("XF86RotateWindows", 0x1008FF74) +KEY("XF86RotationPB", 0x1008FF75) +KEY("XF86RotationKB", 0x1008FF76) +KEY("XF86Save", 0x1008FF77) +KEY("XF86ScrollUp", 0x1008FF78) +KEY("XF86ScrollDown", 0x1008FF79) +KEY("XF86ScrollClick", 0x1008FF7A) +KEY("XF86Send", 0x1008FF7B) +KEY("XF86Spell", 0x1008FF7C) +KEY("XF86SplitScreen", 0x1008FF7D) +KEY("XF86Support", 0x1008FF7E) +KEY("XF86TaskPane", 0x1008FF7F) +KEY("XF86Terminal", 0x1008FF80) +KEY("XF86Tools", 0x1008FF81) +KEY("XF86Travel", 0x1008FF82) +KEY("XF86UserPB", 0x1008FF84) +KEY("XF86User1KB", 0x1008FF85) +KEY("XF86User2KB", 0x1008FF86) +KEY("XF86Video", 0x1008FF87) +KEY("XF86WheelButton", 0x1008FF88) +KEY("XF86Word", 0x1008FF89) +KEY("XF86Xfer", 0x1008FF8A) +KEY("XF86ZoomIn", 0x1008FF8B) +KEY("XF86ZoomOut", 0x1008FF8C) + +KEY("XF86Away", 0x1008FF8D) +KEY("XF86Messenger", 0x1008FF8E) +KEY("XF86WebCam", 0x1008FF8F) +KEY("XF86MailForward", 0x1008FF90) +KEY("XF86Pictures", 0x1008FF91) +KEY("XF86Music", 0x1008FF92) + +KEY("XF86Battery", 0x1008FF93) +KEY("XF86Bluetooth", 0x1008FF94) +KEY("XF86WLAN", 0x1008FF95) +KEY("XF86UWB", 0x1008FF96) + +KEY("XF86AudioForward", 0x1008FF97) +KEY("XF86AudioRepeat", 0x1008FF98) +KEY("XF86AudioRandomPlay", 0x1008FF99) +KEY("XF86Subtitle", 0x1008FF9A) +KEY("XF86AudioCycleTrack", 0x1008FF9B) +KEY("XF86CycleAngle", 0x1008FF9C) +KEY("XF86FrameBack", 0x1008FF9D) +KEY("XF86FrameForward", 0x1008FF9E) +KEY("XF86Time", 0x1008FF9F) +KEY("XF86Select", 0x1008FFA0) +KEY("XF86View", 0x1008FFA1) +KEY("XF86TopMenu", 0x1008FFA2) + +KEY("XF86Red", 0x1008FFA3) +KEY("XF86Green", 0x1008FFA4) +KEY("XF86Yellow", 0x1008FFA5) +KEY("XF86Blue", 0x1008FFA6) + +KEY("XF86Suspend", 0x1008FFA7) +KEY("XF86Hibernate", 0x1008FFA8) + + + +KEY("XF86Switch_VT_1", 0x1008FE01) +KEY("XF86Switch_VT_2", 0x1008FE02) +KEY("XF86Switch_VT_3", 0x1008FE03) +KEY("XF86Switch_VT_4", 0x1008FE04) +KEY("XF86Switch_VT_5", 0x1008FE05) +KEY("XF86Switch_VT_6", 0x1008FE06) +KEY("XF86Switch_VT_7", 0x1008FE07) +KEY("XF86Switch_VT_8", 0x1008FE08) +KEY("XF86Switch_VT_9", 0x1008FE09) +KEY("XF86Switch_VT_10", 0x1008FE0A) +KEY("XF86Switch_VT_11", 0x1008FE0B) +KEY("XF86Switch_VT_12", 0x1008FE0C) + +KEY("XF86Ungrab", 0x1008FE20) +KEY("XF86ClearGrab", 0x1008FE21) +KEY("XF86Next_VMode", 0x1008FE22) +KEY("XF86Prev_VMode", 0x1008FE23) |