Мертвая клавиша, не работающая с консолью, yakuake

[112446]Для более общего подхода, удалите только те пробелы, которые находятся между двумя буквами. Таким образом, он может работать, даже если в строках есть цифры, он просто игнорирует пробелы вокруг цифр:

Это, например, превратит [112893]Джорджа и Гарри 12 EUR[112894] в [112895]GerogeandHArry 12 EUR[112896] и все равно будет работать корректно для случаев в Вашем примере.[112449].
2
02.01.2015, 00:05
1 ответ

Тоже была такая проблема (с французской клавиатурой). Я не нашел решения с помощью метода ввода по умолчанию, установленного KDE ( XIM) — и мне недостаточно системного мастера, чтобы настроить его — но я нашел обходной путь, используя другой метод ввода: ibus.

Вот что у меня сработало:

  1. Установите im-config, пакет, который позволяет вам изменить системный метод ввода:

    apt-get install im-config zenity
    
  2. Установите ibus и qt-config (libpinyin также позволяет получить метод для ввода китайских иероглифов с использованием транслитерации пиньинь — для тех, кому интересно — для этого предназначены два последних пакета в этой строке):

    apt-get install ibus ibus-qt4 qt4-qtconfig ibus-libpinyin libpinyin-utils
    
  3. Установите базовые параметры ibus(например, национальную клавиатуру):

    ibus-setup
    
  4. Сообщите системе, что ibusдолжен быть методом ввода по умолчанию в программном обеспечении, использующем графическую библиотеку Qt(то есть во всех собственных приложениях KDE, таких как Konsole и т. д.):

    qtconfig-qt4
    
  5. Используйте im-config, чтобы выбрать ibusв качестве метода ввода по умолчанию для всех приложений X11:

    im-config
    
  6. Чтобы эти изменения распознавались в каждом будущем сеансе X11, добавьте эти строки в свой файл ~/.xsessionrc(или создайте его, если у вас его еще нет):

    #!/ мусорное ведро / баш
    экспорт GTK_IM_MODULE=ibus
    экспорт XMODIFIERS=@im=ibus
    экспорт QT_IM_MODULE=ibus
    ibus-демон -drx
    
  7. В моем случае (возможно, не в вашем), поскольку я использую tcsh, а не bashв качестве оболочки по умолчанию в своих сеансах Konsole, и поскольку по какой-то причине X11 не читал .xsessionrcпри каждом новом запуске, мне также пришлось добавить эту строку в файл запуска оболочки .tcshrc:

    sh $HOME/ .xsessionrc
    
  8. Наконец, на панели IBus(которая теперь должна появиться в системном трее), на панели «Настройки», вкладка «Дополнительно», обязательно установите флажок «Использовать системную раскладку клавиатуры». , чтобы используемая раскладка клавиатуры соответствовала тому, что вы уже выбрали (и чтобы учитывались любые дополнительные параметры, например положение клавиши «Создать»).

Не знаю, почему не было более простого решения, и почему метод ввода по умолчанию не учитывает механизм мертвых ключей (проверил в xev: события правильно отправлялись X11 в XIM , но приложения Qt просто игнорировали это!). В любом случае, я доволен обходным путем.

1
27.01.2020, 22:21

Теги

Похожие вопросы