Thanks, Richard, for all your help. It seems the key press is recorded
correctly by the gprint() debug. For instance, with b, e, and f:
Scorearea key press event: keyval 98 (b), string |b|, length 1, state
0, keycode 11, group 0, is_modifier flag 0
Scorearea key press event: keyval 101 (e), string |e|, length 1, state
0, keycode 14, group 0, is_modifier flag 0
Scorearea key press event: keyval 102 (f), string |f|, length 1, state
0, keycode 3, group 0, is_modifier flag 0
Shift + 2 reads as shift + @ (the character above the 2 on my keyboard):
Scorearea key press event: keyval 65505 (Shift_L)
Scorearea key press event: keyval 64 (at), string |@|, length 1, state
1, keycode 19, group 0, is_modifier flag 0
The 2 key reads correctly as 2:
Scorearea key press event: keyval 50 (2), string |2|, length 1, state
0, keycode 19, group 0, is_modifier flag 0
Option + 3 reads as option + £, which I believe is a Mac remapping (as I
thought I could fix via the command center):
Scorearea key press event: keyval 65513 (Alt_L), string ||, length 0,
state 0, keycode 58, group 1, is_modifier flag 1
Scorearea key press event: keyval 163 (sterling), string |£|, length 2,
state 8, keycode 20, group 1, is_modifier flag 0
The keycode numbers may be a bit weird, but it seems like you use
event->keyval in process_key_event(), so if the print call is printing the
same correctly....
I will see if someone has a standard USB keyboard lying around.