[[HomePage]] > [[SoftwareIndex|Software Index]] > [[SoftwareDevelopment|Development]] > [[gtkdialog|gtkdialog]] > [[gtkdialogDocTips|Tips and Tricks]] ====9.8 Hotkeys==== Here follows 3 different ways of defining hotkeys **** An #### signal inside the #### widget gives the most direct hotkey ##Refresh:varDATE## SHIFT's state is held by 0th bit and CTRL state by 2nd bit of ##$KEY_MOD## variable (?????C?S) , so, in order to read their state correctly, we need to discard the rest of bits by logical AND: ##$(( $KEY_MOD & 5 ))##. If we would want SHIFT alone, it would be ##$(( $KEY_MOD & 1)) = 1##, only CTRL - ##$(( $KEY_MOD & 4 )) = 4## and so on. see [[http://murga-linux.com/puppy/viewtopic.php?t=94163]] for more depth. **** Menuitems can set both accelerator key and modifier (SHIFT is 1, CTRL is 4 and ALT is 8 ). For a full list of accelerator key values check [[http://git.gnome.org/browse/gtk+/plain/gdk/gdkkeysyms.h]] #### **## The defined char in the ##