Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Проблема с локалями в java программах.  (Прочитано 592 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mountaineer

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Если сменить раскладку с английской на какую то другую, то в java программах будет возвращаться неверное значение KeyCode(KeyCode отличается от KeyChar).
Репродюсится на Ubuntu 11.10, 12.04 с разными версиями java(1.7_51, 1.7_45, 1.6).
На Ubuntu 13.10 все работает как положено(java 1.7_51).

Пример: на немецкой клавиатуре поменяны местами клавиши y и z.
Если запустить данный пример: http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html ,
переключится на немецкую раскладку и нажать клавишу z, то на Windows и Ubuntu 13.10 увидим:
Цитировать
KEY PRESSED:
    key code = 89 (Y)
    extended modifiers = 0 (no extended modifiers)

KEY TYPED:
    key character = 'y'
    extended modifiers = 0 (no extended modifiers)

KEY RELEASED:
    key code = 89 (Y)
    extended modifiers = 0 (no extended modifiers)
   
на Ubuntu 11.10, 12.04

Цитировать
KEY PRESSED:
    key code = 90 (Z)
    extended modifiers = 65536(Button6)

KEY TYPED:
    key character = 'y'
    extended modifiers = 65536(Button6)

KEY RELEASED:
    key code = 90 (Z)
    extended modifiers = 65536(Button6)

Собрал простой пример на gtk и там не увидел никаких проблем...
Конкретное приложение(java) может иметь свои настройки локали в Ubuntu?
Куда посоветуете смотреть?

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.