I don't see how it would work without having a Fn key.
If I'm not mistaken, the pyra will have in the order of 60-62 available keys (45 at the bottom, 4 from dpad, 3 from the middle buttons, 4 or 6 from the "fire" buttons, 4 from the shoulder buttons).
A standard international keyboard has 105 distinct keycodes (at the driver level). There is a "bare-minimum" number of keycodes a keyboard needs to have: a-z,0-9,shift,space,tab,esc,enter and backspace (that is 26+10+6=42). That leaves us 18-20 keys in the pyra to use to generate the other 63 keys (105-42). Those 63 keys are the F1..F12, the normal PC modifiers (control, alt, altgr), symbols (dot, questionmark, etc), cursors, keypad, the home/end/... block, etc. There is some redundancy there, but not much.
Without Fn you would have to forget (for example) having F1..F12 as they need a keycode; you cannot assign them to a "software" key combination.
My point: you have to generate those as a distinct keycodes to be able to emulate a useful PC keyboard.
If I'm not mistaken, the pyra will have in the order of 60-62 available keys (45 at the bottom, 4 from dpad, 3 from the middle buttons, 4 or 6 from the "fire" buttons, 4 from the shoulder buttons).
A standard international keyboard has 105 distinct keycodes (at the driver level). There is a "bare-minimum" number of keycodes a keyboard needs to have: a-z,0-9,shift,space,tab,esc,enter and backspace (that is 26+10+6=42). That leaves us 18-20 keys in the pyra to use to generate the other 63 keys (105-42). Those 63 keys are the F1..F12, the normal PC modifiers (control, alt, altgr), symbols (dot, questionmark, etc), cursors, keypad, the home/end/... block, etc. There is some redundancy there, but not much.
Without Fn you would have to forget (for example) having F1..F12 as they need a keycode; you cannot assign them to a "software" key combination.
My point: you have to generate those as a distinct keycodes to be able to emulate a useful PC keyboard.