Posted: Mon Dec 13, 2004 11:05 am Post subject: NeoOffice/J 1.1 Alpha2 Patch8 problems with dead keys
Hello,
I use Slovak (sk) keyboard layout. I am unable to type characters with dead keys, all other characters work correctly, but there are some, which can only be typed using dead keys. For example pressing + and C should show accented C, but they show only normal C.
Or = and a should show long a (which you can get also by typing 8), but it types only normal a without accent. In terminal and other application, the keyboard works correctly, but it's mainly issue for me in office applications, as that's the place I want to use local keyboard... Any ideas how to fix that?
I'm using Loki's keyboard layouts, but it does not work even with default OS X Slovak layout. Loki's layouts can be downloaded here:
Drag & Drop to /Library/Keyboard Layouts and select it from the input menu configuration (after logging in and out). That should be enough to provide the same testing environment as I have. The keyboard I use is Slovak by Loki U/CE.
This is a bug in Apple's Java 1.3.1. For some reason, Java 1.3.1 does not properly load any of custom keyboard layouts.
Can you please file this as a bug in Bugzilla? I don't know if I will be able to fix this, but eventually I might be able to hack Apple's JVM so that it properly loads custom keyboard layouts.
No. Neo/J uses Java 1.3.1 even if you have a later Java installed. Apple, in their haste to add new features in Panther, broke many things in Java 1.3.1 when they released Panther and, unfortunately, Apple has not provided any fixes to Java 1.3.1.
This is a bug in Apple's Java 1.3.1. For some reason, Java 1.3.1 does not properly load any of custom keyboard layouts.
This is interesting news, as I have been using a custom keylayout for Arabic (I've added a few less-common glyphs that make our Arabic profs happy) so that I don't have to keep going to the character palette all the time. This keylayout works properly.
Have I just gotten lucky, or might there be some useful info I can provide? FWIW, I created this keyboard using SIL's Ukelele tool using the "Based on..." option.
Maybe the problem is that there is more than one file format for keyboard layouts and Java 1.3.1 can only load one of file formats.
IIRC the old resource-based keyboard layouts for Symbol and Dingbats worked properly, too, but I haven't tried them recently. I'll have a look at the Loki kybds tonight and see if I can deduce anything.
Posted: Tue Dec 14, 2004 12:10 am Post subject: Results inconclusive....
Well, the results of my tests were inconclusive...too many variables and too many places where my knowledged isn't deep enough.
First, though, I was able to get the two dead-key combos mentioned above to work properly with Apple's standard Slovak keyboard on 10.3.6. jooray couldn't get this working in his/her case.
Here are some arcane details of my testing/investigation (I got pretty tired of logging out and back in again ).
Keyboard layouts in Mac OS X can be of three types: the old-style resource fork 'khcr' resources from pre-OS X (provided the script is not one that is called "Unicode" now in the International system prefs), an XML .keylayout file, and a .bundle, which can apparently contain either .rsrc or .keylayout keyboards and their associated info.
1. The Apple standard Slovak keyboard is an old-style .rsrc file--inside a bundle! Not only that, but the .rsrc file contains all the CE keyboards in the single file! (Because they're old-style .rsrc layouts, Ukelele can't do a "New keyboard based on..." for them )
2. Loki's keyboards are .keylayouts inside of a bundle. They were made with the other keylayout editor, Keyboard Builder (which I could never get to work when I was doing my Arabic layout ).
3. It doesn't seem to matter if they are "loose" keylayouts or in a bundle; I get the same results. I extracted Loki's .keylayout and matching .icns and put them in my ~/Library/Keyboard Layouts, and the behavior was the same, dead-keys failing to create the composed character. I took my Arabic .keylayout and .icns and bundled them up, and it continued to work fine (hamzas sitting on whatever seat I wanted).
4. I noticed some differences in the format of the .keylayout files (my Arabic one generated with Ukelele and Loki's Slovak U/CE one generated with Keyboard Builder) when I opened them in TextEdit. I'm not sure how much this comes from being completely different scripts, "keyboard types" (Unicode vs. Central European), etc., and how much might be a source of problems.
5. Saving Loki's .keylayout in Ukelele produced a .keylayout that failed to even be recognized by System Prefs
The (stark in some cases) differences between the two .keylayout files when looking at them in TextEdit makes me wonder if there's a chance Keyboard Builder is generating files that are slightly out of spec--but the fact those layouts worked in, say, Stickies means it could be, as Patrick initially posited, a Java 1.3.1 bug. (The easy test would be to recreate the layout from scratch in Ukelele and see what happens, but that would be a bit of a test of my non-existant knowledge of Slovak )
Most curious, though, is how I had the dead keys on the standard Mac OS X Slovak keyboard working in Neo/J, while for jooray they did not.
Perhaps Sorin will stop by and have a look...I think he knows more about the keyboard layouts than I do, and he's created some for Roman-alphabet langauges
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum