«Ctrl + пробел» был вызван для вызова некоторого метода ввода и не работает в Emacs или Eclipse с автозаполнением


80

В Emacs, запускаемом в терминале, ctrl+ space- это стандартная комбинация клавиш для выбора региона. Но в Ubuntu 12.04 он вызовет некоторый метод ввода для неанглийского языка. Мне было интересно, могу ли я зарезервировать его только для Emacs?

Под System Settings -> Keyboard -> Shortcuts, я не мог найти то, что ctrl+ spaceбыло связано. Странный.

Другие программы, особенно автозаполнение в Eclipse, также , кажется, есть проблема обработки ctrl+ space.

Ответы:


119

Похоже, у вас работает Ibus, который по умолчанию использует Ctrl+ Spaceдля включения / выключения редактора ввода.

Вы можете изменить назначенную ему комбинацию клавиш в настройках Ibus.

введите описание изображения здесь

Если Ibus работает в строке меню, вы можете щелкнуть правой кнопкой мыши, чтобы выбрать Предпочтение в меню. Если Ibus не работает в строке меню, вы можете запустить диалоговое окно «Установки» из тире, запустив методы ввода с клавиатуры или из терминала с помощью ibus-setup.

Обновление от 14.04

ibus-setupбольше не доступен для 14.04. Функции из первого ibus-setupварианта вместо этого интегрированы в Системные настройки >> Ввод текста .

Переключение входа теперь по умолчанию установлено на Super+ Space, но Ibus может все еще красть фокус с Control+ Spaceсочетания клавиш и вызывать другие системные проблемы, в частности, автозаполнение в Eclipse.

Интеграция переключения ввода Ibus в новые настройки ввода текста все еще находится в стадии разработки, и это вызывает проблему, поскольку более старые настройки все еще существуют за кулисами.

Если вы обновились с 12.04, ibus-settingsвсе равно должны быть доступны.

В 14.04 вы можете редактировать настройки напрямую dconf-editor.

Если он не установлен:

sudo apt install dconf-editor

Затем перейдите на рабочий стол >> ibus >> общие >> горячие клавиши . Настройка triggerи по- triggersпрежнему будет отображать «control + space». Изменение этих параметров из, соблюдая осторожность , чтобы оставить пустые скобки []в triggers.


3
Это также исправило автозаполнение, не работающее в Eclipse после того, как я
обновился

Мой ibus-setupна 14.04 немного отличается и не имеет этой опции.
BoppreH

@ BoppreH 14.04 немного изменил настройки ibus. Я посмотрю на это. Благодарю.
Часов

4
dconf-editorисправил мою проблему, большое спасибо @chaskes.
BoppreH

2
@ BoppreH Рад, что все получилось. Пожалуйста, проголосуйте (если вы этого не сделали). ;)
Часов

10

Отключите триггер IBUS с помощью командной строки:

gsettings set org.freedesktop.ibus.general.hotkey triggers @as []

Или, если это не работает, попробуйте, если первый вызовет ошибку:

gsettings set org.freedesktop.ibus.general.hotkey triggers []

1
Вторая команда работала для меня в корпоративной настроенной версии Ubuntu 14.04 (goobuntu), которая исправила мою проблему в emacs: копировать / вставлять или копировать / вставлять.
Рено

Вторая команда исправила это для меня, и теперь она находится в моем скрипте установки для настройки недавно установленных рабочих столов Ubuntu. Спасибо, аскубунту!
Mnebuerquo

5

ibus не вызывает у меня ничего, кроме головной боли. Каждый раз, когда я пытаюсь изменить настройки, при перезагрузке возвращается Ctrl + Space. Вот мое решение:

sudo apt-get purge ibus
sudo killall ibus

Теперь все работает, пока Ubuntu не решит свою следующую глупость. Может быть, буква «о» будет означать выключение компьютера?


Я только что попробовал это (Ubuntu 14.04.3 LTS). Это не помогло.
Кит Томпсон

ИСПРАВЛЕНИЕ: Либо это, либо изменив настройки IBUS, или бег dconf-editor, сделал работу. Я тестировал, набрав Ctrl-V Ctrl-Space в bash; по какой-то причине Баш не принял это. Но Ctrl-Space генерирует нулевой символ.
Кит Томпсон

2

После обновления до Ubuntu 14.04 у меня возникла такая же проблема. Что я сделал.
В настройках IBUS: System > Preferences > Keyboard Input Methods.
Есть вариант: Next input methodон был установлен на Ctrl + пробел, я удалил его, а затем все снова начало работать.


1

Ubuntu Studio 14.04 (XFCE) здесь. У меня не было проблем с Autocomplete ( Ctrl + Space), но с Copy Line ( Ctrl + Alt + Down).

Это сработало для меня:

  • Откройте диспетчер Windows: xfwm4-settings
  • Перейти на вкладку «Клавиатура»
  • Прокрутите вниз до противоречивого действия
  • Нажмите кнопку Очистить или измените действие на другой ярлык

Спасибо! Это можно сделать и из командной строки xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Up" ; xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Down" ; xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Left" ; xfconf-query -c xfce4-keyboard-shortcuts -r -p " /xfwm4/custom/<Primary><Alt>Right".
Стефан Гурихон

0

У меня Ubuntu 14.04 GNOME с LXDE. Видимо этот рабочий стол имеет ibus-setup. Так что для меня изменение настройки ibus было правильным решением. Возможно, только Unity покончила с приложением ibus-setup.


1
Да, это вещь Unity.
Гуннар Хьялмарссон

0

dconf-editorИзменение не было достаточно для меня. У меня установлен источник входного сигнала Mozc (японский).

На Ubuntu 16.04 мне также пришлось:

  1. Зайдите в Настройки системы -> Ввод текста
  2. Нажмите Mozc, чтобы выделить
  3. Нажмите на значок гаечного ключа / отвертки ниже
  4. Вкладка "Глобальная конфигурация"
  5. Первым параметром «Метод ввода триггера» был CTRL_SPACE. Я щелкнул по нему, а затем нажал, Escapeчтобы сбросить привязку клавиш.

0

Для некоторых людей, использующих японский ввод с fcitx, проверьте Fcitx Configuration. Там есть меню для глобальной конфигурации, и под Trigger Input Methodярлыком по умолчанию будет Ctrl+ Space.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.