In my confused state I introduced a bug in my previous commit, this is now fixed.
The XF86* keys are now handled by XStringToKeysym