summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/rmd_shortcuts.c
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2020-06-19 03:47:43 -0700
committerVito Caputo <vcaputo@pengaru.com>2020-06-20 15:58:17 -0700
commit2e5fdc7f842eacce7b41eab794c4bfe97761e381 (patch)
tree4f11cd5aa2196a85c531c1eeb6c75ddb4b190465 /recordmydesktop/src/rmd_shortcuts.c
parentc903c20a8554bd5a56fbe95f6598662e9fc0d2b6 (diff)
*: just some fast and nasty reformatting
If I'm going to actually be modifying this program substantially and possibly maintaining some fork of it, it's gotta be formmatted how I prefer. This is by no means done or perfect, rmd_types.h in particular is quite the mess, I will be revisiting this issue...
Diffstat (limited to 'recordmydesktop/src/rmd_shortcuts.c')
-rw-r--r--recordmydesktop/src/rmd_shortcuts.c216
1 files changed, 103 insertions, 113 deletions
diff --git a/recordmydesktop/src/rmd_shortcuts.c b/recordmydesktop/src/rmd_shortcuts.c
index 1712b93..bdc8daa 100644
--- a/recordmydesktop/src/rmd_shortcuts.c
+++ b/recordmydesktop/src/rmd_shortcuts.c
@@ -37,117 +37,107 @@
#include <stdlib.h>
#include <string.h>
-int rmdRegisterShortcut(Display *dpy,
- Window root,
- const char *shortcut,
- HotKey *hotkey){
-
- int keycode=0,
- i, j ;
- KeySym key=0;
- unsigned int modifier_mask=0,
- numlock_mask=0;
- char *keystr=NULL;
- XModifierKeymap *modmap;
-
- if(strstr(shortcut,"Shift"))
- modifier_mask = modifier_mask|ShiftMask;
- if(strstr(shortcut,"Control"))
- modifier_mask = modifier_mask|ControlMask;
- if(strstr(shortcut,"Mod1"))
- modifier_mask = modifier_mask|Mod1Mask;
- if(strstr(shortcut,"Mod2"))
- modifier_mask = modifier_mask|Mod2Mask;
- if(strstr(shortcut,"Mod3"))
- modifier_mask = modifier_mask|Mod3Mask;
- if(strstr(shortcut,"Mod4"))
- modifier_mask = modifier_mask|Mod4Mask;
- if(strstr(shortcut,"Mod5"))
- modifier_mask = modifier_mask|Mod5Mask;
-
- //we register the shortcut on the root
- //window, which means on every keypress event,
- //so I think it's neccessary to have at least one
- //modifier.
- if(modifier_mask == 0)
- return 1;
- if((keystr=rindex(shortcut,'+'))!=NULL){
- keystr++;
- if((key=XStringToKeysym(keystr))==NoSymbol)
- return 1;
- else
- keycode=XKeysymToKeycode(dpy,key);
- }
- else
- return 1;
-
-
- /* Key grabbing stuff taken from tilda who took it from yeahconsole
- * who took it from evilwm */
-
- modmap = XGetModifierMapping(dpy);
- for(i=0;i<8;i++){
- for(j=0;j<modmap->max_keypermod;j++){
- if(modmap->modifiermap[i*modmap->max_keypermod+j]==
- XKeysymToKeycode(dpy,XK_Num_Lock))
- numlock_mask=(1<<i);
- }
- }
- XFreeModifiermap(modmap);
-
- hotkey->modnum=0;
- hotkey->key=keycode;
-
- XGrabKey(dpy,
- keycode,
- modifier_mask,
- root,
- True,
- GrabModeAsync,
- GrabModeAsync);
- hotkey->mask[0]=modifier_mask;
- hotkey->modnum++;
-
- XGrabKey(dpy,
- keycode,
- LockMask | modifier_mask,
- root,
- True,
- GrabModeAsync,
- GrabModeAsync);
- hotkey->mask[1]=LockMask | modifier_mask;
- hotkey->modnum++;
-
- if(numlock_mask){
-
- XGrabKey(dpy,
- keycode,
- numlock_mask | modifier_mask,
- root,
- True,
- GrabModeAsync,
- GrabModeAsync);
- hotkey->mask[2]=numlock_mask | modifier_mask;
- hotkey->modnum++;
-
- XGrabKey(dpy,
- keycode,
- numlock_mask | LockMask | modifier_mask,
- root,
- True,
- GrabModeAsync,
- GrabModeAsync);
- hotkey->mask[3]=numlock_mask | LockMask | modifier_mask;
- hotkey->modnum++;
-
- }
-
- return 0;
-
+int rmdRegisterShortcut( Display *dpy,
+ Window root,
+ const char *shortcut,
+ HotKey *hotkey) {
+
+ int keycode=0, i, j ;
+ KeySym key=0;
+ unsigned int modifier_mask=0, numlock_mask=0;
+ char *keystr=NULL;
+ XModifierKeymap *modmap;
+
+ if (strstr(shortcut,"Shift"))
+ modifier_mask = modifier_mask|ShiftMask;
+ if (strstr(shortcut,"Control"))
+ modifier_mask = modifier_mask|ControlMask;
+ if (strstr(shortcut,"Mod1"))
+ modifier_mask = modifier_mask|Mod1Mask;
+ if (strstr(shortcut,"Mod2"))
+ modifier_mask = modifier_mask|Mod2Mask;
+ if (strstr(shortcut,"Mod3"))
+ modifier_mask = modifier_mask|Mod3Mask;
+ if (strstr(shortcut,"Mod4"))
+ modifier_mask = modifier_mask|Mod4Mask;
+ if (strstr(shortcut,"Mod5"))
+ modifier_mask = modifier_mask|Mod5Mask;
+
+ //we register the shortcut on the root
+ //window, which means on every keypress event,
+ //so I think it's neccessary to have at least one
+ //modifier.
+ if (modifier_mask == 0)
+ return 1;
+ if ((keystr=rindex(shortcut,'+'))!=NULL) {
+ keystr++;
+ if ((key=XStringToKeysym(keystr))==NoSymbol)
+ return 1;
+ else
+ keycode=XKeysymToKeycode(dpy,key);
+ } else
+ return 1;
+
+
+ /* Key grabbing stuff taken from tilda who took it from yeahconsole
+ * who took it from evilwm */
+
+ modmap = XGetModifierMapping(dpy);
+ for (i=0;i<8;i++) {
+ for (j=0;j<modmap->max_keypermod;j++) {
+ if (modmap->modifiermap[i*modmap->max_keypermod+j]==
+ XKeysymToKeycode(dpy,XK_Num_Lock))
+ numlock_mask=(1<<i);
+ }
+ }
+ XFreeModifiermap(modmap);
+
+ hotkey->modnum=0;
+ hotkey->key=keycode;
+
+ XGrabKey( dpy,
+ keycode,
+ modifier_mask,
+ root,
+ True,
+ GrabModeAsync,
+ GrabModeAsync);
+ hotkey->mask[0]=modifier_mask;
+ hotkey->modnum++;
+
+ XGrabKey( dpy,
+ keycode,
+ LockMask | modifier_mask,
+ root,
+ True,
+ GrabModeAsync,
+ GrabModeAsync);
+ hotkey->mask[1]=LockMask | modifier_mask;
+ hotkey->modnum++;
+
+ if (numlock_mask) {
+
+ XGrabKey( dpy,
+ keycode,
+ numlock_mask | modifier_mask,
+ root,
+ True,
+ GrabModeAsync,
+ GrabModeAsync);
+ hotkey->mask[2]=numlock_mask | modifier_mask;
+ hotkey->modnum++;
+
+ XGrabKey( dpy,
+ keycode,
+ numlock_mask | LockMask | modifier_mask,
+ root,
+ True,
+ GrabModeAsync,
+ GrabModeAsync);
+ hotkey->mask[3]=numlock_mask | LockMask | modifier_mask;
+ hotkey->modnum++;
+
+ }
+
+ return 0;
}
-
-
-
-
-
-
© All Rights Reserved