> I figure the key I want is XK_bracketleft but I'm not sure how to output > a character. If I key the cent sign (copy/paste) I get > warning: multi-character character constant Unfortunately, the cent sign is a very non-standard character. It's not even part of the basic 7-bit ASCII character set. For example, the Apple //e that I used when I was younger didn't even have a cent sign... When and if you get this working, there'll always be the chance for more problems when you change fonts, upgrade X, or upgrade Fedora. IMHO, the best solution is to stop using this character. Use the dollar sign... for fifty cents, use $0.50 Having said that, however, the EBCDIC CCSID 37 (default in the USA) has hex character x'4A' set to the cent sign. And ISO 8859-1 (based on a web search) has the cent sign as x'A2'. Assuming that the font you use is 100% compliant with ISO 8859-1 (which might be a really big assumption!) both x5250 and xt5250 should output the sign properly without changes. The character mapping is done by tables in teh file called transmaps.h If you look at the table called ibm037_to_iso_8859_1 it shows the mappings... for example, since x'4A' is decimal 74 you can look for the 74th entry in this table (the comments on the right-hand side help you do that). It shows that 74 is mapped to 162. (which is x'A2') To verify that it was functioning properly, I wrote the following trivial RPG program: D char s 1A inz(x'4A') c dsply char c eval *inlr = *on When I run this program, it does show a cent sign on my display (FreeBSD 5.2.1 with XFree86 4.3.0, using the 'fixed' font) I tested this with both x5250 and xt5250, and both display the cent sign properly. At home I'm running X.org rather than XFree86, so I'll check it there later. If yours is different and you know the proper mapping, you can change it in transmaps.h, and recompile it to make it work. For keyboard mapping, you'll need to change key.c to return the ASCII code ( NOT THE EBCDIC CODE! ) so that when lib5250 maps it from ASCII to EBCDIC, it'll translate to the right thing for the iSeries to understand. For the sake of testing, you should be able to simply "return 162" but of course, if you change the mapping in transmaps, you need to use whichever character you changed it to. Good Luck
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.