|

Home
Contact Us
General
Initiative B@bel
WSI Guidelines
Encoding
Principles
Unicode
Training
Tutorials
PUA
Conversion
Resources
Utilities
TECkit
Maps
Resources
Input
Principles
Utilities
Tutorials
Resources
Type Design
Principles
Design Tools
Formats
Resources
Font Downloads
Gentium
Doulos
IPA
Rendering
Principles
Technologies
OpenType
Graphite
Resources
Font FAQ
Links
Glossary
|
NRSI:
Computers & Writing Systems
You are here: Input >
Utilities
Short URL: http://scripts.sil.org/ukelele_history
Ukelele version history
Jonathan Kew, 2005-12-02; 10954 reads
This page records the release notes from older versions of the Ukelele tool; the latest version of the
software, and recent release notes, can be found on the main Ukelele
page.
15 September 2009 — Released version 1.8.4
- Fixed a problem with certain keyboard layouts that had been hand-edited to have gaps in the numbering
of their key maps.
8 June 2009 — Released version 1.8.3
- Keyboards with a Fn key did not show the delete key as a forward delete when the Fn or Num Lock keys
were down. This is fixed.
- Changed the output so that, if there are no actions, no actions section is in the XML. This may fix an
issue introduced by a Security Update for 10.4.11.
30 April 2009 — released version 1.8.2
- Fixed a hang when deleting the last comment in a keyboard layout.
- Fixed a bug which caused a crash when trying to unlink a key with no output.
- Fixed a bug in saving a keyboard layout when some of the headers were not specified.
6 January 2009 — released version 1.8.1
- When Sticky Modifiers is on, the modifiers are returned to their state when the window is activated
(such as after a dialog is dismissed), rather than going back to the state of the hardware keyboard
modifiers.
- Avoid a crash when you close a keyboard layout when you are in a dead key state other than state
“none”.
- Avoid a crash when editing a key with no output in the current dead key state that is not state
“none”.
29 July 2008 — released version 1.8
- We now remove unused actions when removing unused states, which improves the behaviour, removing more
states.
- Fixed a bug which occasionally made Ukelele crash when editing the terminator of a dead key state by
double-clicking the dead key.
- Fixed a bug which caused a crash on quit after adding a new modifier combination.
- Fixed a bug which caused a crash when a dead key state had no terminator specified, usually when a
keyboard layout has been edited outside Ukelele.
- Updated the resources list to reflect a changed URL.
- Fixed a bug that caused a crash when you tried to open a file that had illegal XML.
- Fixed a couple of places where strings were not properly encoded for XML, leading to a possibility of
getting a file which was not legal XML, and therefore the system could not use the keyboard layout, and
Ukelele could not open it again.
- A malformed file could cause a crash on save. This is fixed.
- When you change the script code, a random keyboard ID in the appropriate range is chosen. Also, new
keyboards have a random keyboard ID.
- Updated the manual to include information on the correct ranges of IDs allowed for each of the
different script types. Keyboard IDs may have more influence than is implied by Apple’s documentation, but
this is far from certain.
- Updated the help book a little to reflect changes in the program and in terminology used in the
manual.
- Updated the Unicode system keyboard layouts to have all the current control keys having default output
(they got missed in 1.8b6).
12 March 2008 — released version 1.8b6
- Fixed a bug that made keys appear selected when the Num Lock key was
down.
- Corrected the behaviour of the Apple Aluminium Wireless keyboard and MacBook (Late 2007), which have a
Fn key, but no embedded keypad.
- Provided a better error message when a non-keyboard layout XML file is opened.
- Changed the way the XML is produced to adhere to part of the original specification (the when element for state “none” must come first).
- Added the current state and action names in the dialog asking for a new name.
- Updated all the provided keyboard layouts, both System and Logitech, to have all control keys defined
and to avoid numeric state names.
- If you gave an empty string in a dialog that needed a non-empty string, you got stuck in a loop that
wouldn’t accept the string until you clicked Cancel and tried again. This is now fixed.
- Changed the display in dead key states so that only the output in the dead key state is shown. The
previous behaviour was that keys that had only one output would show that, even if the key did not produce
that output in the dead key state.
- A completely rewritten manual is now included. Help files and an updated tutorial are still in
progress.
6 November 2007 — released version 1.8b5
- Apple has changed how the system keyboard layouts are organised, and so it is no longer possible to
create a new keyboard layout based on a system keyboard layout. This option in the “New…” dialog is
disabled on Leopard systems (but is still available on older systems).
5 November 2007 — released version 1.8b4
- Made the default index a pop-up menu in the modifiers editor, so that you can change it there, as well
as via the menu.
- Added resources to allow the new Apple aluminium keyboards (both wired and wireless) as options in the
keyboard type for display.
- Added support for the new function keys F17 , F18
and F19 . This produces a side effect that keyboard layouts will almost always
warn that some of the control key output is missing. This is for F16 to
F19 , so you should agree to add that output.
- Double-clicking a control key with no output defined no longer silently adds the standard output.
- Compiled under Xcode 3.0 on Leopard (Mac OS X 10.5), which hopefully makes it work on all systems from
10.2 to 10.5.
- Added keyboard layouts from Logitech, converted from KCHR to uchr.
28 June 2007 — released version 1.8b3
- Modified the new layout dialog to drop the “.keylayout” extension in the popup menu.
- The dialog box that comes up when you double-click a key now treats the return key as clicking OK .
- When you copied a key, the command didn’t become active
immediately, but only after some other action (opening a dialog, switching windows, switching applications,
or making a change to the keyboard layout). This is now fixed.
- Added a new command to unlink a whole modifier set at once, which unlinks all keys with the same
modifier combination.
- Fixed a bug in adding a new modifier combination as a copy of an existing key map which made the
keyboard layout invalid and so unusable.
- Fixed the dialog so that requesting a Dvorak lower case keyboard layout for a new modifier combination
actually works.
- Added new options for AZERTY layouts (upper and lower case) when creating a new modifier
combination.
- Added a new reference to the links page of the manual, with pointers to resources for users with
non-Apple keyboards (PC keyboards, if you like).
May 30, 2007: released version 1.8b2
- Fixed an error in the Serbian keyboard layout.
- Added keyboard flag icons for almost all the system keyboards.
- Opening a keyboard layout is now somewhat faster.
- The output inspector and key code floating windows now remember their position.
- Made finishing a dead key an undoable action, which avoids a crash when undoing entering a dead key
state when you had already left it.
- Added a new command to “unlink” a key, so that editing a key’s output with one set of modifiers does
not affect its output with a different set of modifiers.
- Tried to fix a crash related to memory management, and also plugged a memory leak.
- Fixed a typo that made the uppercase Dvorak layout created with a new modifier combination produce “e”
instead of “E”.
- I have begun a complete rewrite of the manual, but that isn’t ready for this release, so there is only
the updates to the current manual and help.
March 13, 2007: released version 1.8b1
- Universal binary, moving to Xcode.
- New preferences for creating dead keys. Now, naming the dead key state and providing a terminator are
optional. If you don’t provide a name, a default name will be used, and, if you don’t give a terminator, a
null terminator will be created. This simplifies the creation of dead keys for most users.
- Resolved a couple of places where the program could crash, including some memory management problems
that could also cause memory leaks.
- Fixed a bug which meant that, though technically correct, produced output that was perhaps not what
Apple’s keyboard layout compiler expected. I suggest that all existing keyboard layouts be opened, a change
made and then undone, and saved. This may help the system retain the correct keyboard, but I’m not sure
about that.
- The XML file is now indented to show structure.
- New feature to swap two keys directly. This swaps everything associated with the two keys, including
all modifier combinations and dead keys.
- New feature of cut/copy/paste keys. As with swapping keys, this operates on all modifier combinations.
Pasting is only allowed within the same keyboard layout — you can’t copy a key from one keyboard layout and
paste it into another.
- Provided some feedback to tell the user that a control key can’t be made into a dead key.
- Updated manual and help files, and provided a tutorial.
- Fixed some problems with some Central European keyboard layouts converted from Apple’s resource files:
Czech, Czech-QWERTY, Estonian, Polish and Slovak. Changing some keys with the old versions caused problems
with the space key, among other problems.
- Removed the Japanese, Korean, Simplified Chinese and Traditional Chinese keyboard layouts, as they are
of no use — the input methods don’t allow modified keyboard layouts, unfortunately.
- Improved the display in dead key states, no longer showing the terminator when there is no output in
that state, but rather showing a blank key.
August 8, 2006: released version 1.7
- The feature added in 1.7b6 has been extended so that an untitled keyboard will be given the name from
the file name whenever it is saved, not just the first time.
- Correctly handle the case of changing a control key which had no output associated with it.
- Change the behaviour when deleting a dead key, so that you don’t get the terminator in states other
than state “none”.
- Handle characters that need to be coded for XML in the name of the keyboard.
July 8, 2006: released version 1.7b6
- Added a feature to add a name for the keyboard layout when saving for the first time, if the name
hasn’t been set from within the program.
- There is now a new preference, for the default keyboard to display if the system does not recognise the
hardware keyboard attached to the computer.
- The dialog for keyboard type (the keyboard displayed on the screen) has been modified to use two popup
menus rather than a list and a popup menu.
- The manual and help have been updated to reflect the latest changes.
- The version for OS X 10.2 (Jaguar) now has a “J” at the end of the version number.
June 23, 2006: released version 1.7b5
- Fixed more (I think all, this time) cases of the random crashes introduced in 1.7b2.
- Validate Unicode values input as &#x...; or &#...; to ensure that only valid Unicode code points are generated. Code points in the
surrogate ranges are not permitted. If this is a problem, please tell me!
- Enforce a system-level restriction that the maximum number of Unicode characters generated by a single
key is 20. Attempting to make the output longer than 20 characters will result in a dialog explaining that
this is not allowed.
- Version 1.7b3 introduced output of named entities (e.g. ') in the keyboard layout file. These are not supported, so now numerical encoding is
generated again.
June 8, 2006: released version 1.7b4
- Fixed a second instance of the problem fixed in 1.7b3.
June 8, 2006: released version 1.7b3
- Fixed a problem where a crash would occur some time after running the dialog from double-clicking a
dead key, usually in the second time of bringing up that dialog.
- Changed the code handling XML entities to produce named entities (e.g. ") rather than numerical entities (e.g. ").
May 23, 2006: released version 1.7b2
- Added a new floating window, the Output Inspector, which shows the output of the key under the pointer
as a Unicode code point. For dead keys, it shows the state entered by pressing the dead key, and the
terminator for that state.
- Added an option to the dialog when double-clicking a dead key. You can now choose to edit the dead key
(i.e. enter the dead key state), as well as the previous options of changing the terminator or deleting the
dead key.
- Fixed a problem in handling code points outside the Basic Multilingual Plane when specified
numerically.
- Updated the manual more thoroughly.
May 15, 2006: released version 1.7b1
- Provide some options when creating a new modifier set. The default is an empty key map, with only the
control keys having any output set, but there are two new options: a standard key layout or a copy of
another key map. The standard key layouts set the letter keys to the default US QWERTY or Dvorak key
layouts in either upper or lower case. Copying an existing key map, for example making the caps lock
initially the same as shift, is intended to save some extra work, by making you only specify what is
different.
- Allow navigation of bundles or packages, so that the user can open keyboard layouts that are bundled
without having to manually open the bundle in the Finder and drop the keyboard layout file onto the Ukelele
icon.
- Updated help files and manual, including putting page numbers in the manual. Also, the references to
web sites was revised, removing dead links and adding several new sites.
- Fixed a bug that could cause a keyboard layout to become invalid when deleting output from a key in
state “none”.
- Fixed a bug introduced in version 1.6.6 which effectively disabled drag and drop when any modifiers
were down, unless sticky modifiers was set.
- Fixed a bug which meant that nothing was saved if the user double-clicked a key which didn’t already
have output associated with it — the dialog ran, but the new output was not retained.
May 1, 2006: released version 1.6.7
- Double-clicking a dead key changed the key with no modifiers (or, actually, what modifiers were current
when the dialog ended). It is now fixed to behave as expected.
- Added a section in the help and manual to explain the codes necessary to make keys into control keys
such as Home, Page Up, arrow keys, etc.
- Removed Hangul, SCIM & TCIM keyboards, as they are not useful on their own, since they are part of
various input methods. At present, input methods are apparently not able to use other keyboard
layouts.
- Moved some initialisation code so that you don’t get warned about a missing KCAP resource when
double-clicking a keyboard layout document.
February 24, 2006: released version 1.6.6
- Improved the display when switching windows.
- Try to solve a crash that some users get when working with dead keys (not too sure why it’s crashing,
so I don’t guarantee it’s fixed).
- Handle the case when a key is double-clicked and the output is deleted, when in a dead key state (gives
the terminator, rather than a null output).
- Show correct output in some dead key cases, where null output showed instead of the terminator.
- Converted all the keyboard layouts provided with Mac OS X 10.4.5, giving a few more layouts than in
previous versions. In particular, there are Hangul, SCIM and TCIM layouts which were not available
before.
December 30, 2005: released version 1.6.5
- Fixed a crash when adding a new modifier combination.
- In previous versions (1.6.2–1.6.4), not all keyboard types would be available when opening or creating
a new keyboard as the start-up action. This is now fixed, and all keyboard types are available at start-up
as well as when opening or creating a new keyboard layout with the menu commands.
- Ukelele now uses “Smart Crash Reports”. If you are running Mac OS X 10.4 (Tiger), you can go to
http://www.unsanity.com/smartcrashreports/ and download the
client software. It enables you to send any crash logs directly to the author. This is not required for
Ukelele to operate, and is intended to help the developer respond to crash reports more quickly.
September 22, 2005: released version 1.6.4
- The fix in 1.6.3 didn’t work correctly. I believe that it’s fixed correctly now.
- Fixed the code in naming new files so that you don’t get two .keylayout
extensions in the file name.
- Changed the handling of key down events slightly to improve visual appearance when the command key has
been held down.
September 13, 2005: released version 1.6.3
- Fixed a bug causing a crash on saving of a keyboard layout without any dead keys.
September 9, 2005: released version 1.6.2
- Fixed an issue when undoing a change to a key which did not already have output.
- The modifiers editor was not deleting the last row when a combination was deleted, and trying to delete
it again led to a crash. This is now fixed.
- Fixed a bug which caused a crash on quitting occasionally.
- Added support for more keyboard types (all types recognised by Keyboard Viewer for Panther and Tiger or
Key Caps for Jaguar).
- Tweaked the code for determining whether to show output as small or large on a key cap.
- Fixed a bug which failed to refresh the display of a key with no output, leaving it looking as though
it had whatever output was last displayed. This was most noticeable when editing dead keys.
- Correctly calculate the maxout figure, the maximum number of characters produced by a keystroke or
sequence of keystrokes. A bug in calculation in earlier versions made some keyboard layouts behave
incorrectly.
July 19, 2005: released version 1.6.1
- Added a version that will run on Mac OS X 10.2.x (Jaguar) — identical except that it does not provide
information about XML errors when opening a file that is not valid XML.
- Fixed a bug that caused a crash when creating a dead key when the trigger did not have any output
assigned to it.
- The dialog asking whether to save changes now shows the long name of the file rather than the
31-character shortened version.
- Fixed some issues with display when the Fn key is down (on some iBook and PowerBook keyboards).
June 29, 2005: released version 1.6
- Fixed a problem which caused a crash when double-clicking a key which has no output.
- Handled a problem which could cause a crash when clicking the splash screen just before it goes away
with the timer.
- Improved the display of control characters and symbols for control keys.
- Improved the speed of determining whether the text will fit on the key cap.
- Changed button labels in some dialogs to avoid using "Yes" and "No", so that it is clearer what action
will happen when the button is clicked.
- Fixed a crash when creating a dead key.
April 28, 2005: released version 1.6b1
- Added the capability of changing the output of control keys by double-clicking them (not drag and
drop).
- Changed the way that Ukelele determines whether to show a key cap in the normal size or the reduced
size, based on what will fit into the key cap on screen. Also tries to be intelligent about how to show
non-printable characters. Unfortunately, this is a lot slower.
- Fixed a bug which caused doubling of comments in the actions element in the keyboard layout file, when
there was a comment between two actions. Duplicate comments are now deleted on saving the file.
- Fixed a bug which caused a crash when creating a dead key from a key that had no output before creating
the dead key.
- Repaired an error in the Serbian keyboard layout which prevented it being used.
- Fixed a cosmetic bug in the display when changing state names (some characters would appear to
disappear).
- Fixed a cosmetic bug when the menu would display “Hide” for a floating window (State Stack, Key Code or
JIS Palette) that had been closed with the close button rather than through the menu.
- Reworded an error message that would appear if the selected physical keyboard layout could not be
loaded (which should never happen, but appears to happen to some people).
- Provided more information about the error in the dialog box displayed when a file is invalid XML.
- Changed the default keyboard layout to the same as Keyboard Viewer (original “Cosmo” USB
keyboard).
- Fixed a crash when double-clicking the key cap in the terminator dialog.
- Ukelele should now correctly display characters out of the Basic Multilingual Plane (i.e. code points
greater than U+FFFF).
- Fixed a bug which would sometimes cause a keyboard layout to be invalid when creating a second-level or
higher dead key (i.e. a dead key starting from a state other than "none").
- Fixed a crash when saving a keyboard layout which was read from a file not encoded as UTF-8.
January 16, 2005: released version 1.5
- Lowered the baseline so that tall characters (such as those with two diacritics) show up correctly
(this was in 1.5b2, but not noted then).
- Fixed a bug where dragging and dropping certain characters could create an output file which is illegal
XML, and so would not appear in the input menu.
- Fixed a bug which, in certain circumstances, would put the program into an infinite loop when creating
a dead key.
- Changed the pop-up menus for action and state names to make a more readable form (convert to MacRoman
rather than UTF-8).
January 7, 2005: released version 1.5b2
- Included XML versions of all the non-Unicode system keyboard layouts (converted to XML with Apple’s
klkchrtoxml and kluchrtoxml tools, part of
Font Tools 2.0).
- Fixed a bug that caused a crash when the JIS palette was closed with the close box.
- Fixed a bug that caused a crash when clicking on a key to select it as a dead key trigger.
- Corrected the output for the up arrow and down arrow (they had been reversed).
- Fixed a bug that caused a crash on save if the opened file was not in UTF-8 format but still valid XML
(e.g. ISO 8859-1 coding).
December 21, 2004: released version 1.5b1 — first test release of Ukelele 1.5, adding significant new
features to the 1.0 version:
- Rewrote the code for displaying keyboards so that any physical keyboard layout that the system knows
about can be displayed.
- Key sizes can be made larger to see longer output strings.
- Added output for non-editable keys (return, enter, tab, escape, delete, F-keys, arrow keys, page up,
page down, etc) when starting from an empty keyboard layout.
- Missing non-editable key output is diagnosed and can be repaired when a keyboard layout is opened. A
menu command is also provided so that it can be done at any time, if you elect not to do so when opening
the file.
- Added display of symbols for modifier and non-editable keys so that they can be recognised.
- Added a palette for use with JIS keyboards to allow changes to be for JIS only or for all keyboard
types.
- New menu commands to change state and action names.
- New menu command to remove unused states.
- New comments editor that allows you to add your own comments to the XML keyboard layout file, and edit
or delete them as well.
- Improved the new file dialog to allow creation of an empty layout, a layout based on a system keyboard
layout, or a copy of an existing, non-system keyboard layout.
- Changed the dialog for editing or creating dead keys to allow easy access to existing dead keys.
- Added a command to import a dead key from another keyboard layout.
- The modifiers editor window now shows the default modifier index.
- Added more keyboard shortcuts.
- You can undo almost any action now, including creating a dead key.
- Wrote a real manual, as well as updated the help book.
- Made first steps to making Ukelele ready for localizing.
- Improved error reporting from keyboard layout files that are not valid for some reason.
September 20, 2004: released version 1.0.5
- Fixed a bug that meant that use of the Fn or Num Lock keys did not work correctly (the keypad and
non-keypad keys were mapped together). However, some keyboard layouts affected by this bug may still have
problems caused by the bug, and may need to be regenerated. The problem can be fixed by editing the XML
output file. If you really want to do that, ask for details.
- Changed the position of the state window so that it can be seen on 800 x 600 screens.
- Finally fixed the bug noted in 1.0b4, where creating a keyboard layout based on a system keyboard
layout would crash in Mac OS X 10.2.8, and perhaps other versions as well.
- Added a feature showing the names of missing actions when reading a keyboard layout file which is
missing some actions.
- Added a new command to set the script code and numeric ID of the keyboard.
August 14, 2004: released version 1.0.4
- Fixed an issue that crippled the modifier combination dialog.
- Corrected the handling of double-clicking the terminator key cap in the dialog asking for a
terminator.
August 2, 2004: released version 1.0.3
- Really fixed the bug with keyboard layouts created with “New…”. (The fix in version 1.0.1 didn’t
actually solve the problem.)
- If the bug was manifested in a keyboard layout file, it will be corrected on opening in 1.0.3. A dialog
will tell you if this has happened.
- Added comments to the keyboard layout files indicating creation and modification times.
- Removed some unused code.
- Fixed a memory leak when saving a keyboard layout file.
- Added information about keyboard names and icons to the help book.
July 17, 2004: released version 1.0.2
- Made deleting a dead key work correctly and properly flag it as non-undoable.
- Improved documentation of multi-level dead keys in the help book.
- Cosmetic changes to various windows and dialogs.
July 13, 2004: released version 1.0.1
- Corrected a bug which made keyboard layouts created with “New…” invalid.
- Added the ability to edit dead-key terminators.
June 28, 2004: released version 1.0
- This is the final release of Ukelele 1.0, with no currently-known bugs.
April 13, 2004: released version 1.0b4
- Fixed a problem where an XML control character (&<>") was assigned to a key, resulting in
invalid XML.
- Known problem: One user reported a crash when creating a new keyboard layout based on a system keyboard
layout. It may be a Jaguar vs. Panther issue, but I haven't been able to reproduce it. If you can reproduce
this problem, please let me know exactly what you did!
March 31, 2004: released version 1.0b3.
- Fixed a bug which caused Ukelele to crash after the state window was closed.
- Created a real JIS keyboard layout for PowerBook/iBook keyboards.
- Added preferences window for setting whether the splash screen is shown at startup and the startup
action.
- Added a splash screen.
- Fixed a bug which caused Ukelele to crash when adding a new modifier combination to a keyboard with
exactly one existing modifier combination.
- Fixed a bug with creating dead keys which put them onto the wrong modifier combination.
March 20, 2004: released version 1.0b2.
- This version corrects a problem in 1.0b1 that was generating invalid XML files.
© 2003-2012 SIL International, all rights
reserved, unless otherwise noted elsewhere on this page.
Provided by SIL's Non-Roman Script Initiative. Contact us at .
|