Русификация Mac OS X

Русская unicode-раскладка клавиатуры

Стандартная раскладка клавиатуры имеет недостатки:

  • На внешней USB-клавиатуре не работают дополнительные клавиши (Home, End, PgUp, PgDn и прочие, которые около Num Lock).
  • Ctrl-Enter дает \015, а надо \012.
  • Неудобно использовать внешнюю клавиатуру Windows - некоторые клавиши не соответствуют.
  • Нет украинских и белорусских букв.
  • Раскладка не unicode, поэтому ее не удается подстроить под свои нужды.

Формат файла раскладки клавиатуры описан в Apple Technical Note TN2056.

Я приготовил XML-файлы с двумя русскими и исправленной английской раскладками клавиатуры. Скачайте и распакуйте файл russian-keyboard.tgz. Поместите файлы Russian-mac.keylayout, Russian-win.keylayout, Russian-mac.icns и Russian-win.icns в каталог “/Library/Keyboard Layouts/”. Замените файл “/System/Library/Keyboard Layouts/Unicode.bundle/Contents/Resources/USExtended.keylayout” на USExtended-new.keylayout. Или приложите к нему заплатку USExtended.pch.

В системных настройках выберите раскладки “U.S. Extended” и “Russian Mac” либо “Russian Win”, в зависимости от используемой клавиатуры. Дело в том, что в русском режиме поведение некоторых кнопок на клавиатурах Mac и Windows отличается:

Код Клавиша U.S. Russian Mac Russian Win
21 4 $ 4 % 4 ;
23 5 % 5 : 5 %
22 6 ^ 6 , 6 :
26 7 & 7 . 7 ?
28 8 * 8 ; 8 *
42 \ | ё Ё / |
44 / ? / ? . ,
50 ` ~ ] [ ё Ё

Украинские и белорусские буквы вводятся так:

Буква Ввод Юникод
і Alt + русская и 0456 - i
І Alt + русская И 0406 - I
ї Alt + русская й 0457 - yi
Ї Alt + русская Й 0407 - Yi
є Alt + русская е 0454 - ukrainian ie
Є Alt + русская Е 0404 - ukrainian Ie
ґ Alt + русская г 0491 - ghe with upturn
Ґ Alt + русская Г 0490 - Ghe with upturn
ў Alt + русская у 045e - short u
Ў Alt + русская У 040e - short U

Чтобы дополнительные клавиши работали во всех приложениях, надо поправить трансляцию клавиш в события. Для этого перепишите файл KeyBinding.dict под именем “~/Library/KeyBindings/DefaultKeyBinding.dict”:

install KeyBinding.dict ~/Library/KeyBindings/DefaultKeyBinding.dict

Справочная информация: коды клавиш, список идентификаторов клавиатурных раскладок Unicode.

Полезный софт: Full Key Codes, Ukelele, Iconographer.


Терминал

Исходно утилита Terminal работает в режиме xterm-color, что не всегда удобно. Чтобы переключить ее в режим консоли linux, замените файл /Applications/Utilities/Terminal.app/Contents/Resources/English.lproj/Defaults.plist на этот. Или приложите к нему заплатку.

Чтобы установить шрифт и размер для окон терминала, выполните команды:

defaults write com.apple.Terminal "NSFixedPitchFont" "Monaco"
defaults write com.apple.Terminal "NSFixedPitchFontSize" "18"
defaults write com.apple.Terminal "Rows" "31"
defaults write com.apple.Terminal "Columns" "85"

Запускать Terminal удобнее не напрямую, а через стартовый файл. Для входа на удаленные серверы можно использовать файлы типа этого.

По умолчанию Terminal работает в кодировке UTF-8. Если требуется кодировка KOI8-R, надо в стартовый файл добавить установку переменной:

"StringEncoding" = "-2147481086";

В шестнадцатеричном виде это 80000a02, что соответствует константе kTextEncodingKOI8_R в файле TextCommon.h.

К сожалению, русские буквы в шрифте Monaco для Tiger выглядят ужасно. И это очень странно - раньше в шрифте Monaco CY все было в порядке.


Firefox

Firefox не использует системную трансляцию клавиш. Чтобы дополнительные клавиши работали, надо расширить его собственную таблицу трансляции. Например, так:

jar xf /Applications/Firefox.app/Contents/MacOS/chrome/toolkit.jar
cp platformHTMLBindings.xml content/global/
jar cfM0 toolkit.jar content
install toolkit.jar /Applications/Firefox.app/Contents/MacOS/chrome/toolkit.jar

Файл platformHTMLBindings.xml надо взять из russian-keyboard.tgz. Или можно воспользоваться заплаткой.

 
macosx-russian.txt · Последние изменения: 2006/02/12 23:29 vak
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru