Как поменять Caps Lock на Control в XFCE?

Вопрос или проблема

Раньше я менял капс лок и контроль в GNOME, но когда я обновился до Ubuntu 9.04, я также сменил свою рабочую среду на Xfce. У меня есть следующая строка в xorg.conf:

Option          "XkbOptions"    "ctrl:nocaps"

Но это не кажется эффективным для Xfce. Есть идеи?

В конце концов, я убрал строку “XkbOptions” из моего xorg.conf и добавил это в автозагрузку Xfce:

/usr/bin/setxkbmap -option "ctrl:nocaps" 

Это превращает клавишу Caps Lock в дополнительный Ctrl, что мне подходит. Если вы хотите просто обменять их местами, я полагаю, что "ctrl:swapcaps" сработает. Если это имеет значение, эта страница является достаточно хорошим руководством:

http://manicai.net/comp/swap-caps-ctrl.html

Я ещё не успел попробовать другие способы, но у меня есть нетбук с немного странной раскладкой, и, возможно, мне придётся немного с ней поработать.

Я использую XFCE, но это решение должно работать для любой рабочей среды на Debian или Ubuntu:

Замените определение XKBOPTIONS в /etc/default/keyboard на

XKBOPTIONS="ctrl:swapcaps"

Это затрагивает всех пользователей системы. Замените на ctrl:nocaps, если хотите, чтобы никакие клавиши не функционировали как Caps Lock.

Это не повлияет на вашу текущую сессию (вы должны перезапустить X11),
поэтому вы можете выполнить эту команду для изменения настроек до тех пор:

$ setxkbmap -option ctrl:swapcaps

Чтобы это касалось только вашего пользователя, выполните вышеуказанную команду в рамках вашей сессии: откройте настройки XFCE (введите xfce4-settings-manager) и нажмите на Сессия и автозагрузка, затем перейдите на вкладку Автозагрузка приложений и Добавьте эту команду.

Используйте xkeycaps, чтобы посмотреть на раскладку клавиатуры и поменять местами модификаторы META и ALT, или просто поменять местами все клавиши. Если вы планируете использовать любые приложения GNOME, GNOME имеет некоторые предположения о том, какие клавиши имеют модификаторы META и ALT. Вероятно, будет проще полностью поменять клавиши местами.

Вы можете попробовать xmodmap

У меня есть маленький нетбук с раздражающей дополнительной клавишей рядом с клавишей левый Shift. Поместив следующее в ~/.Xmodmap, я могу переназначить эту клавишу на другую клавишу левый Shift.

keycode 94 = Shift_L
add shift = Shift_L

Может быть, вы сможете сделать что-то подобное, чтобы поменять местами клавиши caps-lock и control?

Xfce должен быть таким же, как GNOME и все остальные рабочие среды – что-то, вероятно, сломалось при обновлении до Ubuntu 9.04 для всех окружений, поскольку параметры конфигурации клавиатуры и мыши Xorg переместились из xorg.conf в HAL.

Дополнительную информацию о новых методах конфигурации можно найти на следующих страницах:

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

  1. Установите inputplug

Для Arch мне нужно было использовать репозитории сообщества: yay -S inputplug

  1. Создайте скрипт, который настраивает ваши пользовательские параметры клавиатуры

Вот скрипт (~/on-new-kbd), который я использую, чтобы переназначить caps на control и также установить составную клавишу как правый control (полезно для набора таких символов, как ‘€’)

#! /bin/sh

echo >&2 "$@"
event=$1 id=$2 type=$3

case "$event $type" in
'XIDeviceEnabled XISlaveKeyboard'
        /usr/bin/setxkbmap -option 'ctrl:nocaps'
        /usr/bin/setxkbmap -option 'compose:rctrl'
esac
  1. Убедитесь, что он запускается при старте

Заставьте его запускаться при загрузке xfce, добавив новую запись автозагрузки. Сделайте это, создав файл .config/autostart/inputplug.desktop

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=inputplug
Comment=Обнаружить новые клавиатуры и применить настройки, такие как caps - > ctrl
Exec=/usr/bin/inputplug --bootstrap --command ~/on-new-kbd
OnlyShowIn=XFCE;
RunHook=0
StartupNotify=false
Terminal=false
Hidden=false

Ответ или решение

Чтобы поменять местами клавиши Caps Lock и Control в окружении рабочего стола Xfce, выполните следующие шаги:

  1. Удаление старых настроек:
    Если у вас есть строка Option "XkbOptions" "ctrl:nocaps" в вашем файле xorg.conf, удалите её, так как эти настройки могут не работать в Xfce после обновлений и могут создавать конфликты.

  2. Использование setxkbmap:
    Чтобы временно изменить настройки клавиш в текущей сессии, выполните команду:

    setxkbmap -option ctrl:nocaps

    Эта команда превратит клавишу Caps Lock в дополнительную клавишу Control. Если вы хотите просто поменять клавиши местами, используйте:

    setxkbmap -option ctrl:swapcaps
  3. Автозапуск настройки:
    Вам нужно, чтобы эта команда запускалась автоматически при старте Xfce. Для этого откройте XFCE настройки, выполнив команду:

    xfce4-settings-manager

    Затем перейдите в раздел Session and Startup и на вкладку Application Autostart. Нажмите Add и введите следующую информацию:

    • Name: Swap Caps Lock and Control
    • Command: setxkbmap -option ctrl:nocaps (или setxkbmap -option ctrl:swapcaps, если вы хотите поменять их местами)
    • Comment: Установка клавиатурных настроек

    После добавления не забудьте сохранить изменения.

  4. Системные настройки для всех пользователей:
    Если вы хотите изменить настройки для всех пользователей системы, отредактируйте файл /etc/default/keyboard и замените строку, отвечающую за XKBOPTIONS, на:

    XKBOPTIONS="ctrl:swapcaps"

    Для использования ctrl:nocaps, замените соответствующим образом. Учтите, что для применения этих изменений может потребоваться перезагрузка X11 или системы.

  5. Проверка и устранение проблем с USB-клавиатурами:
    Если вы используете USB-клавиатуру, после каждого подключения могут сбрасываться настройки. Чтобы создать устойчивую конфигурацию, вам следует установить inputplug. Установите его через пакетный менеджер вашей системы. Затем создайте скрипт, который будет применяться к новому устройству клавиатуры. Пример содержимого скрипта ~/on-new-kbd:

    #! /bin/sh
    
    echo >&2 "$@"
    event=$1 id=$2 type=$3
    
    case "$event $type" in
    'XIDeviceEnabled XISlaveKeyboard'
           /usr/bin/setxkbmap -option 'ctrl:nocaps'
    esac

    Убедитесь, что скрипт выполняется при старте XFCE, добавив файл ~/.config/autostart/inputplug.desktop с содержимым:

    [Desktop Entry]
    Encoding=UTF-8
    Version=0.9.4
    Type=Application
    Name=inputplug
    Comment=Detect new keyboards and apply settings like caps -> ctrl
    Exec=/usr/bin/inputplug --bootstrap --command ~/on-new-kbd
    OnlyShowIn=XFCE;
    RunHook=0
    StartupNotify=false
    Terminal=false
    Hidden=false
  6. Проверка настроек:
    После выполнения всех шагов проверьте, работают ли новые настройки, нажатие клавиши Caps Lock должно теперь функционировать как кнопка Control.

Эти шаги помогут вам успешно поменять клавиши Caps Lock и Control в Xfce.

Оцените материал
Добавить комментарий

Капча загружается...