Well, whaddaya know? I cloned a recent version of geany, and found that someone has already implemented a very similar Geany signal, called "key-press". It was needed for the 'vimode' plugin, and at present that's the only one that uses it. It differs from my proposal in that it can return TRUE to inhibit further processing, which means that 'vimode' can deprive Geany and other plugins of certain keystrokes. It works OK for 'keyrecord', at least without 'vimode' loaded. I guess I should probably use it for now, though it may break in the future, and may not work properly if 'vimode' is loaded at the same time as 'keyrecord'.
Cheers, Austin.