Выключите Caps Lock, когда Escape будет нажат

Если Вы выполняете единственную команду (pwd в Вашем случае) через ssh, это не интерактивная оболочка, таким образом, поведение корректно, по-моему.

Необходимо установить Ваш PATH в ~/.profile или ~/.bash_profile, не в ~/.bashrc.

Как найдено в bash(1) страница справочника:

   PARAMETERS
      (...)
      Special Parameters
          The shell treats several parameters specially.   These  parameters  may
          only be referenced; assignment to them is not allowed.
          (...)
          -      Expands  to  the  current option flags as specified upon invoca-
                 tion, by the set builtin command, or  those  set  by  the  shell
                 itself (such as the -i option).

Так i содержавшийся в $- средства, что -i опция использовалась (или автоматически устанавливалась оболочкой, будучи интерактивной).

10
22.02.2013, 00:17
3 ответа

В X11 (на консоли я не знаю) можно сделать это путем переопределения поведения Клавиши выхода. Я посмотрел на "сдвиг (break_caps)" определение, чтобы видеть, как это работает и адаптировало его.

Посмотрите на этот ответ на xkb для получения дополнительной информации о том, как/где поместить локально измененные файлы и загрузить их.

И для того, чтобы сделать, что Вы хотите, Вам нужно в локальном файле символов (например: ~/.xkb/symbols/mysymbols) раздел как это:

partial modifier_keys
xkb_symbols "esc_breaks_caps" {
    key <ESC> {
        type = "ALPHABETIC",
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
};

и в локальном файле контурной карты (например: ~/.xkb/keymap/mykbd; можно создать его с setxkbmap -print > ~/.xkb/keymap/mykbd ) изменитесь xkb_symbols строка для добавления +mysymbols(esc_breaks_caps).

Можно теперь загрузить его: xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY и нажатие Esc удалит состояние CapsLock (на самом деле, эффект происходит на выпуске Esc; я думаю, что только ключи модификаторов имеют непосредственный эффект; другие эффект после их выпуска.)

О, если Вы хотите также подкачать Клавиши выхода и клавиши Caps Lock; затем используйте это вместо этого (и Вы помещаете "+mysymbols (esc_swap_and_breaks_caps)" в свой mykbd файл):

partial modifier_keys
xkb_symbols "esc_swap_and_breaks_caps" {
    replace key <CAPS> {
        type = "ALPHABETIC",
        symbols = [ Escape, Escape ],
        actions [Group1] = [
            SetMods(modifiers=none),
            SetMods(modifiers=Lock,clearLocks)
        ]
    };
    replace key <ESC> { [ CapsLock, CapsLock ] };
};

обратите внимание, что физические ключи <CAPS> и <ESC>; <CAPS> (ключ выгравировал CapsLock в Вашей клавиатуре), отправляют Escape и <ESC> (ключ выгравировал Esc), отправляет CapsLock, с <CAPS> (отправляющий Escape) также сбрасывающий capslock состояние

5
27.01.2020, 20:03

Добавьте эти строки к ~/.Xmodmap :

clear lock
keycode 0x42 = Escape

Затем введите команду:

xmodmap ~/.Xmodmap

Ваша клавиша Caps Lock теперь повторно отображается на клавише Esc.

Ссылочный URL.


Также пройдите эту хорошую статью об Отображении CapsLock для Выхода в Ubuntu, которая, кажется, unix.se пользователь :)

1
27.01.2020, 20:03
  • 1
    . Я, оказывается, уже подкачал CapsLock и Esc. Однако, когда клавиша Esc нажимается (который, оказывается, маркирован CapsLock на клавиатуре и является рядом с A), мне нужен он для выполнения и Escape и Disable-CapsLock-If-It-Is-Enabled. Я отредактирую вопрос разъясниться.Спасибо. –  dotancohen 20.02.2013, 12:32
  • 2
    я думал, что Вам было нужно наоборот. Несколько перепутанный здесь. Что происходит на нажатии Esc и Capslocks после этих изменений? –  mtk 20.02.2013, 13:57
  • 3
    В настоящее время: при нажатии ESC введите CapsLock функционируйте переключатели, и при нажатии CapsLock введите ESC команда отправляется (т.е. ESC ключ повторно отображается на CapsLock и CapsLock ключ повторно отображается на ESC). Моя цель с этим вопросом состоит в том, чтобы иметь нажатие CapsLock ключ выполняет обоих ESC функция (который это в настоящее время делает) и выключает CapsLock функционируйте если и только если CapsLock функция включена (т.е. не переключатель CapsLock функция, а скорее отключают его если CapsLock включен). –  dotancohen 20.02.2013, 14:43

Я не уверен, отвечает ли это на Ваш вопрос, но отобразить функцию Esc на клавишу Caps Lock, можно использовать это:

setxkbmap -option "caps:escape"
1
27.01.2020, 20:03

Теги

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