Hey Green Zebra!
Thanks for trying! I compiled your code and ran the program as you instructed. No luck.
Running xev showed the top row of function keys had not been modified.
The 14 byte data file is nothing more than ASCII characters:
QNNNNSYNNNNACF
I have the old Northgate configuration utility in a virtual machine. I grabbed a screen shot. You can see the utility screen
here. The 14 byte character string matches the utility options.
The one configuration I am interested is located in the first column, bottom: Set Special Functions Keys S, which configures the top row of function keys as Shift-Fn keys. Sixth character in the 14-byte data file.
On a whim I reversed the order of the characters but that did not help either.
I also checked the data file on an older computer and the data file uses Unix line feeds and not DOS.
Based upon your usage of using /dev/port, I started reading the
IO-Port-Programming FAQ. I think I follow the basics of your little program, but am unable to troubleshoot further.
I ran strace and as far as I can tell, the program is reading the data file and writing to /dev/port.
If you're still around to see this response, please let me know whether there is anything that can be done to improve the situation.
So close!