From Birnam Designs Wiki
Occasionally a problem shows up where (normally after starting the computer), the Ctrl (control) key doesn't work. xev sees an event, but it reads:
FocusOut event, serial 34, synthetic NO, window 0x6600001, mode NotifyGrab, detail NotifyAncestor FocusIn event, serial 34, synthetic NO, window 0x6600001, mode NotifyUngrab, detail NotifyAncestor
Instead of a control key press.
To fix this, I opened Compiz settings manager, and disabled, then re-enabled the Commands and Enhanced Zoom Desktop (two plugins in which I've set keyboard shortcuts). This seems to work! I do this every time I start up my computer anyway because somehow the keyboard shortcuts associated with my G15 enhanced keys don't work until this happens.
According to this bug report it looks like it's associated with my using a custom Xmodmap, due to compiz/xmodmap being started in the wrong order. That report refers to the same issue, but with the Alt key. The proposed workaround was to restart xmodmap manually after boot, but this did not work for me, I had to restart the compiz plugins.
After fixing, the control press in xev looks like this (correct):
KeyPress event, serial 34, synthetic NO, window 0x6600001, root 0x13c, subw 0x0, time 687824280, (578,129), root:(875,633), state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False