Здравствуйте! Не все адресаты данного письма знакомы со мной, но каждого из адресатов этот патч заинтересует. Данный патч исправляет отсутствие поддержки акселераторов gtk (клавиатурных комбинаций) при языке клавиатуры, отличном от латинского. К примеру возьмем стандартный акселератора для поля ввода - Ctrl-U, очищающий строку ввода. Когда клавиатура находится в латинском наборе символов, нажатие Ctrl-U действительно очищает содержимое строки, поведение не изменяетя и при фиксации верхнего региста (нажатием клавиши capslock). При переходе на кириллический набор символов, нажатие Ctrl-U (вернее, Ctrl и клавиши, на которой написана "U") никакого действия не предпринимается (без использования данного патча). При применении данного патча поведение будет одинаковым и корректном не зависимо от текущего языка клавиатуры и состояния capslock. С технической точки зрения, этот патч подменяет keysym нажатой клавиши на keysym который был бы выдан клавиатурой, находящейся в латинском языке и при отжатой клавиши capslock. На всякий случай, существует возможность отключить эту функциональность без перекомпиляции библиотеки gdk путем определения переменной окружения с названием GTK_NO_KEYSYM_SPOOFING (например, пользователи bash могут вставить export GTK_NO_KEYSYM_SPOOFING=y в .bash_profile). Этот патч будет интересен и для людей, использующих только латинскую раскладку клавиатуры. Так как этот патч переводит все keysym в их эквиваленты нижнего регистра, то это позволит использовать акселераторы в некачественном софте, который проверяет только keysym нижнего регистра при обработке клавиатурных событий (и, соотвественно, будет вести себя по-другому при зажатой клавише capslock). Данный патч успешно протестирован с приложениями из gnome в частности.
Данный патч только меняет логику обработки клавиатурных событий в библиотеке gdk, используемой gtk. Он не вносит никаких бинарных несовместимостей, и соотвественно, при распространении update'ов достаточно распространять только libgdk*. Этот патч создан для gtk версии 1.2.5 но он должен без проблем накладываться на gtk любых версий из ветки gtk-1.2.x Данный патч возник вследствие некорректной обработки клавиатурных событий библиотекой gdk. Данный патч не является идеологически верным и по-этому не будет интегрирован разработчиками gtk в ветку gtk-1.4.x (или 2.0 - не известно как он будет называться). Я попросил разработчиков gtk включить этот патч в следующую ветку gtk-1.2.x - а именно 1.2.9, но ответа нет (прошел один день). Я извещу всех адресатов данного письма о включении/невключении этого патча в gtk-1.2.9 дополнительно. Данный патч находится здесь: http://www.hippo.ru/~hvv/patches/no-patched-version-yet/gtk-accels-in-any-keylang-support.patch Я настоятельно прошу авторов дистрибьютивов, которые интегрируют этот патч в свой дистрибьютивы, прислать мне весь комплект компактов дистрибьютивов, в которых этот патч будет использован (желательно коробочную версию) (в частности, debian potato (с исходниками) + non-free/russian). Адрес: Россия, 443002, Самара, просп. Ленина-2а, 149, Харчеву Владу. По всем вопросам о патче и сотрудничестве обращайтесь по адресу [EMAIL PROTECTED] Форвардинг данного письма целиком в раличные списки рассылки приветствуется. Best regards, -Vlad

