вы можете просто удалить X ..
sudo apt-get remove x11-*
эта команда удалит все необходимое в графической среде.
Если вы пытаетесь переместить клавишу Shift, есть несколько дополнительных шагов:
xmodmap -e "keycode 62 = Up" # Shift => Up
xmodmap -e "keycode 111 = Shift_R" # Up => Shift
xmodmap -e "add shift = Shift_R" # Make the new Shift key actually do shifting
xmodmap -e "remove shift = Up" # Prevent the old Shift key from shifting
xset r 62 # Make the new Up key autorepeat
xset -r 111 # Prevent the new Shift key from autorepeating
Я только что запоздал. Я думаю, что вы можете означать что-то совершенно другое с помощью «remap» .. но я оставлю свой ответ так, как есть ... (я не знаю, как переназначить один ключ, чтобы вести себя как другой)
UPDATE: моя «afterthought» подтверждена; (Я ответил на неправильный вопрос:) ... см. Ответ Wiki сообщества WES (принятый выше).
Существует два общих способа переназначения ключа.
локально для конкретной программы (ключ может использоваться для разных вещей в разных приложениях / окнах) глобально для конкретного пользователя (ключ имеет ту же функцию во всех окнах)Для методов «local to the program» иногда есть способ изменить ключевые привязки, предлагаемые самим приложением ... например.
Firefox имеет аддон, называемый keyconfig ... для некоторых сведений см. этот пост MozillZine
Большинство программ Ubuntu основаны на Gnome, и есть специальная утилита для изменения привязки клавиш для любого пункт меню этих приложений Gnome ... Он называется Editable Menu Accelerator ... Это очень «трогательный» инструмент, но довольно мощный. Вы можете включить его, запустив gconf-editor (через терминал или Alt + F2). .. перейдите к desktop - gnome - interface и выберите can_change_accels .... Затем вы можете изменить пункты меню на виртуальные все, что вам нравится (на каждую программу / окно) ... Я предлагаю вам отключить это, как только вы сделали то, что вам нужно.
В противном случае вы можете настроить глобальные горячие клавиши. Я использую программу под названием keyconfig , и есть также опция, доступная через Главное меню - Настройки, называемые Keyboard Shortcuts
Если вы используете xbindkeys, вам нужно будет добавить это к вашим «Startup Applications» (главное меню - предпочтения) ... Также (как предложил Стефано Палаццо) я ранее написал более подробное описание xbindkeys в ответе на этом [!d19 ]
Вот как я попытался переключить отображение клавиши ENTER на клавишу SHIFT (и наоборот):
$ uname -a
ОТЧЕТЫ:
Linux box 2.6.32-37-generic #81-Ubuntu SMP Fri Dec 2 20:35:14 UTC 2011 i686 GNU/Linux
$ which xmodmap
ОТЧЕТЫ:
/usr/bin/xmodmap
$ which xev
ОТЧЕТЫ:
/usr/bin/xev
$ xev
(игнорируйте следующие пятьдесят строк или около того)
PRESS THE ENTER KEY (notice the third line):
KeyPress event, serial 33, synthetic NO, window 0x5600001,
root 0x110, subw 0x0, time 263441120, (738,242), root:(771,314),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
XLookupString gives 1 bytes: (0d)
XmbLookupString gives 1 bytes: (0d)
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x5600001,
root 0x110, subw 0x0, time 263441271, (738,242), root:(771,314),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
XLookupString gives 1 bytes: (0d)
XFilterEvent returns: False
PRESS THE SHIFT KEY (notice the third line):
KeyPress event, serial 30, synthetic NO, window 0x5600001,
root 0x110, subw 0x0, time 263592202, (464,368), root:(497,440),
state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x5600001,
root 0x110, subw 0x0, time 263592298, (464,368), root:(497,440),
state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Важно, чтобы третья строка каждого нажатия клавиши :
FOR:
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
The name "Return" is the name of the behavior of the key pressed.
The number of the key pressed is "36".
state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
The name "Shift_R" is the name of the behavior of the key pressed.
The number of the key pressed is "62".
ОТМЕНА КАРТЫ:
$ xmodmap -e "keycode 62 = Return"
$ xmodmap -e "keycode 36 = Shift_R"
СОХРАНИТЬ РЕЗУЛЬТАТЫ:
$ xmodmap -pke > ~/.Xmodmap
$ vi ~/.xinitrc
ADD
xmodmap ~/.Xmodmap
$ sudo reboot
Основная проблема заключалась в том, что разворот НЕ работал. Клавиша ENTER была сопоставлена с ключом SHIFT_R; но клавиша SHIFT не была отображена на клавишу ENTER. Направьте фигуру.
Для выполнения глобальных переназначений независимо от X вы можете использовать консольную установку (5).
В моем случае я хотел перенаправить ключ Caps Lock в D, поскольку мой D- ключ был нарушен:)
Сначала я использовал console-setup (5) , чтобы получить шаблон для сопоставления, в случае Caps Lock -key, интересным битом является сопоставление для кода 32 (на моей клавиатуре); Обратите внимание, что в шаблоне grep есть два пробела!
$ sudo dumpkeys | grep "keycode 32" > tempfile
$ cat tempfile
keycode 32 = +d
shift keycode 32 = +D
altgr keycode 32 = +eth
shift altgr keycode 32 = +ETH
control keycode 32 = Control_d
shift control keycode 32 = Control_d
altgr control keycode 32 = Control_d
shift altgr control keycode 32 = Control_d
(121 lines total...)
Чтобы изменить карту для применения к Caps Lock (код клавиатуры 58 на моей клавиатуре) вместо
sed 's/32/58/' -i tempfile
Теперь он читает
keycode 58 = +d
shift keycode 58 = +D
altgr keycode 58 = +eth
(etc...)
Чтобы добавить это переназначение к карте по умолчанию, его просто нужно добавить в файл с добавлением переназначения для . Обратите внимание, что в шаблоне grep есть два пробела!
sudo sh -c 'cat tempfile >> /etc/console-setup/remap.inc'
и настройка консоли необходимо переконфигурировать (пропустить вопросы с низким приоритетом с помощью -phigh)
sudo dpkg-reconfigure console-setup -phigh
Теперь переназначение должно быть завершено и загружено автоматически при загрузке.
Я потратил целый день на попытку создать ярлык для Ctrl+Pageup.
Сначала я попробовал xmodmap, но не смог генерировать события модификатора. Поэтому невозможно создать ярлык, который генерирует, например, событие Control.
Затем я попытался xbindkeys с xmacro. Подобные работы, но xbindkeys не могут фиксировать некоторые комбинации клавиш в моей системе, такие как Alt + ___.
Итак, я наконец использовал собственные сочетания клавиш Unity -> Пользовательские ярлыки, чтобы настроить мой ярлык .
И вместо xmacro я теперь использовал программу xvkbd для генерации событий клавиатуры, но это только личное предпочтение. Оба xmacro и xvkbd работают почти одинаково. Еще один совет - добавить параметр задержки в xmacro или xvkbd, чтобы гарантировать, что события не будут потеряны.