ibus переопределяют мой xmodmap

Я использую xmodmap для swith Ctrl и клавиш Alt:

~ $> cat .Xmodmap
!
! based on: http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock#toc8
!

!----------------------------------------------------------
! Swap Control and Alt keys, both sides
!----------------------------------------------------------

! First clear all modifiers & control
clear control
clear mod1
clear mod4

! Swap Control_L and Alt_L
keycode  64 = Control_L
keycode  37 = Alt_L Meta_L

! Menu becomes Alt_R Meta_R (AltGr)
! keycode 135 = Alt_R Meta_R

! Define Control_R and Alt_R similar to Control_L and Alt_L
keycode 108 = Control_L
keycode 105 = Alt_L Meta_L

! We need to set keycodes first, as some programs (emacs!) read
! the key names and seem to ignore what's below.
add mod1    = Alt_L Alt_R Meta_L Meta_R
add mod4    = Super_L Super_R
add control = Control_L Control_R


!------------------------------------------
! Caps_Lock becomes an additional BackSpace
!------------------------------------------
! remove lock = Caps_Lock
! keysym Caps_Lock = BackSpaceclear control
! clear mod1
! keycode 37 = Alt_L Meta_L
! keycode 64 = Control_L
! keycode 105 = Alt_R Meta_R
! keycode 108 = Control_R
! add control = Control_L Control_R
! add mod1 = Alt_L Meta_L Alt_R Meta_R

Это хорошо работает; однако, когда я запускаю ibus, ключевые отображения настигает ibus. Существует ли способ избежать этого?

3
задан 1 December 2014 в 20:42

4 ответа

Это не точно проблема IBus (IBus имеет проблемы, много (1), но я не думаю этот).

Ubuntu, как любой современный Linux, использует xkb расширение для определения клавиатуры. xmodmap вид - вещи прежней версии, которая является не гарантирована работать с ним .

документации вполне недостает. Дуга Linux (как всегда) имеет хорошую страницу . Я справился к , адаптируют мою клавиатуру , чтобы не переключаться, который заполоняется ошибками в Gnome Ubuntu (2).

система является сложным---, я нашел некоторую справку здесь , и здесь . Но понимание, как изменить модификаторы, все еще вне моего набора навыков..., и я подозреваю, что очень немного людей вокруг понимают его (страшный).

<час>

Сноски:

(1) Клавиатура продолжает принимать значение по умолчанию к неправильному расположению , https://bugs.launchpad.net/ubuntu / + source/gnome-settings-daemon / + ошибка/1246272 , намного больше...

(2) https://bugs.launchpad.net/ubuntu / + source/gnome-settings-daemon / + ошибка/1218322 , https://bugs.launchpad.net/gnome-settings-daemon / + ошибка/1244090

1
ответ дан 17 November 2019 в 18:59
  • На самом деле, существует ibus опция, скрытая от ее установки GUI для перезагрузки .xmodmap на изменении метода.

    dconf write /desktop/ibus/general/use-xmodmap true
    

    я не мог, попробовал его все же, но можно проверить /etc/dconf/db/ibus.d/00-upstream-settings на доступные варианты.

    я использую Xubuntu 16.04, это могло отличаться, чем 14,04.

  • Иначе

    1. Мешают ibus использовать системные контурные карты

      dconf write /desktop/ibus/general/use-system-keyboard-layout false
      

      или использовать ibus-setup

    2. Изменение его собственные ключевые отображения

      $ cat /usr/share/ibus/keymaps/modifiers 
      keycode 29 = Control_L
      keycode 42 = Shift_L
      keycode 54 = Shift_R
      keycode 56 = Alt_L
      keycode 97 = Control_R
      keycode 100 = Alt_R
      keycode 125 = Super_L
      keycode 126 = Super_R
      keycode 127 = Menu
      

      Ссылка: для пути конфигурации

      ibus_keymap_get ()

      IBusKeymap * ibus_keymap_get  (const gchar *name);
      
      Get an IBusKeymap associated with the giving name.
      
      This function loads the keymap file specified in name in
       the IBUS_DATA_DIR/keymaps directory.
      
      name :
        The keymap file to be loaded, such as 'us', 'jp'.
      
      Returns :
        An IBusKeymap associated with the giving name; or NULL if failed.
      
1
ответ дан 17 November 2019 в 18:59

Вы уже попробовали следующее.

... попытка, разрешающая системную клавиатуру “Use layout” опция под вкладкой “Advanced” в Предпочтениях IBus.

Подсказка от http://tots.1o24.org/how-to-stop-ibus-from-removing-your-xmodmap-mappings/

0
ответ дан 17 November 2019 в 18:59

Я уже столкнулся с этой проблемой прежде и наконец узнал решение для этого путем создания сочетания клавиш, выполняющего команду, которая имеет два задания:

  • Отправляют Высокий звук + нажатие клавиши Shift к системе (это сочетание клавиш изменит входной источник IBUS)
  • Загрузка, мой профиль xmodmap в системную контурную карту

Смотрит на моем сообщении для более подробной информации об этом решении: http://blog.z1k.pw/?p=60

0
ответ дан 17 November 2019 в 18:59

Другие вопросы по тегам:

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