Натыкаюсь на это! Твои мизинцы будут мне благодарны
Все часть моей мышечной памяти основана на Mac, и я использую Mac на работе и в личной жизни, но я случайно столкнулся с Dell Latitude E7470 и подумал, что я мог бы также попробовать Linux (поскольку мой Macbook Pro выпущен в 2012 году и довольно тяжелый, и я просто не хотел возиться с \r\n окончания строк). Так что это была медленная работа над тем, чтобы выяснить, как изменить систему в соответствии с моей мышечной памятью, вместо того, чтобы заново изучать сочетания клавиш.
>>Сначала я просто использовал Параметры раскладки клавиатуры... настройки для "Ctrl сопоставляется с Alt; Alt сопоставляется с Win" но, и это очень незначительная вещь, мне не понравилось, что мои настройки не применялись до тех пор, пока после Я прошел мимо встречающего. У меня также возникли проблемы с запуском ~ /.Xmodmap при запуске (либо сам по себе, как часть .xinitrc, либо как пользовательская команда запуска в приложениях запуска и в /etc/default/
В настоящее время я бегу Ubuntu MATE 19.10 (Eoan), и клавиатура распознается как пк105
Вам нужно будет изменить приведенный ниже сценарий (или отдельные файлы, если вы уже внесли в них другие изменения, которые хотите сохранить), чтобы они соответствовали любой клавиатуре, установленной на вашем компьютере.
Создайте ~/.Xmodmap:
echo '! -*- coding: utf-8 -*-! keycode 37 = Control_L NoSymbol Control_L! keycode 64 = Alt_L Meta_L Alt_L Meta_L! keycode 105 = Control_R NoSymbol Control_R! keycode 108 = Alt_R Meta_R Alt_R Meta_R! keycode 133 = Super_L NoSymbol Super_L! keycode 134 = Super_R NoSymbol Super_R! keycode 135 = Menu NoSymbol Menu! keycode 147 = XF86MenuKB NoSymbol XF86MenuKB! keycode 204 = NoSymbol Alt_L NoSymbol Alt_L! keycode 206 = NoSymbol Super_L NoSymbol Super_L!! keycode 105 = Alt_R Meta_Rclear controlclear mod1clear mod4keycode 37 = Super_Lkeycode 105 = Super_Rkeycode 133 = Alt_L Meta_Lkeycode 64 = Control_Lkeycode 108 = Control_Radd control = Control_L Control_Radd mod1 = Alt_L Meta_Ladd mod4 = Super_L Super_R' > ~/.Xmodmap
сделайте ~/.xinitrc:
echo 'if [ -s ~/.Xmodmap ]; then xmodmap ~/.Xmodmapfixmodmap ~/.Xmodmap' > ~/.xinitrc
Измените файл символов клавиатуры X11 для вашей клавиатуры (важной частью здесь является include "altwin(ctrl_alt_win)"
до // End of modifier mappings.
Это неизмененный в остальном файл /usr/share/X11/xkb/symbols/pc):
echo 'default partial alphanumeric_keys modifier_keysxkb_symbols "pc105" { key <ESC> { [ Escape ] }; // The extra key on many European keyboards: key <LSGT> { [ less, greater, bar, brokenbar ] }; // The following keys are common to all layouts. key <BKSL> { [ backslash, bar ] }; key <SPCE> { [ space ] }; include "srvr_ctrl(fkey2vt)" include "pc(editing)" include "keypad(x11)" key <BKSP> { [ BackSpace, BackSpace ] }; key <TAB> { [ Tab, ISO_Left_Tab ] }; key <RTRN> { [ Return ] }; key <CAPS> { [ Caps_Lock ] }; key <NMLK> { [ Num_Lock ] }; key <LFSH> { [ Shift_L ] }; key <LCTL> { [ Control_L ] }; key <LWIN> { [ Super_L ] }; key <RTSH> { [ Shift_R ] }; key <RCTL> { [ Control_R ] }; key <RWIN> { [ Super_R ] }; key <MENU> { [ Menu ] }; // Beginning of modifier mappings. modifier_map Shift { Shift_L, Shift_R }; modifier_map Lock { Caps_Lock }; modifier_map Control{ Control_L, Control_R }; modifier_map Mod2 { Num_Lock }; modifier_map Mod4 { Super_L, Super_R }; // Fake keys for virtual<->real modifiers mapping: key <LVL3> { [ ISO_Level3_Shift ] }; key <MDSW> { [ Mode_switch ] }; modifier_map Mod5 { <LVL3>, <MDSW> }; key <ALT> { [ NoSymbol, Alt_L ] }; include "altwin(meta_alt)" key <META> { [ NoSymbol, Meta_L ] }; modifier_map Mod1 { <META> }; key <SUPR> { [ NoSymbol, Super_L ] }; modifier_map Mod4 { <SUPR> }; key <HYPR> { [ NoSymbol, Hyper_L ] }; modifier_map Mod4 { <HYPR> }; include "altwin(ctrl_alt_win)" // End of modifier mappings. key <OUTP> { [ XF86Display ] }; key <KITG> { [ XF86KbdLightOnOff ] }; key <KIDN> { [ XF86KbdBrightnessDown ] }; key <KIUP> { [ XF86KbdBrightnessUp ] };};hidden partial alphanumeric_keysxkb_symbols "editing" { key <PRSC> { type= "PC_ALT_LEVEL2", symbols[Group1]= [ Print, Sys_Req ] }; key <SCLK> { [ Scroll_Lock ] }; key <PAUS> { type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Pause, Break ] }; key <INS> { [ Insert ] }; key <HOME> { [ Home ] }; key <PGUP> { [ Prior ] }; key <DELE> { [ Delete ] }; key <END> { [ End ] }; key <PGDN> { [ Next ] }; key <UP> { [ Up ] }; key <LEFT> { [ Left ] }; key <DOWN> { [ Down ] }; key <RGHT> { [ Right ] };};' >/usr/share/x11/xkb/symbols/pc
И на всякий случай, вот соответствующая часть /usr /share/X11/xkb/symbols/altwin, если вам нужно добавить ее вручную:
// Ctrl is mapped to the Alt, Alt to the Super, and Win to the Ctrl keys.partial modifier_keysxkb_symbols "ctrl_alt_win" { key <LALT> { [ Control_L, Control_L ] }; key <RALT> { type[Group1] = "TWO_LEVEL", symbols[Group1] = [ Control_R, Control_R ] }; key <LWIN> { [ Alt_L, Meta_L ] }; key <RWIN> { [ Alt_R, Meta_R ] }; key <LCTL> { [ Super_L ] }; key <RCTL> { [ Super_R ] }; modifier_map Control { <RALT>, <LALT> }; modifier_map Mod1 { <LWIN>, <RWIN> }; modifier_map Mod4 { <LCTL>, <RCTL> };};
Изменить /etc/defaults/keyboard:
echo '# KEYBOARD CONFIGURATION FILE# Consult the keyboard(5) manual page.XKBMODEL="pc105"XKBLAYOUT="us"XKBVARIANT=""XKBOPTIONS="caps:shift_nocancel,ctrl:alt,alt:win,win:ctrl"BACKSPACE="guess"' >/etc/default/keyboard
И, наконец, вот мои дампы GNOME и Marco keybinding dconf:
гном:
[org/gnome/desktop/wm/keybindings]activate-window-menu=['disabled']begin-move=['disabled']close=['<Control>q']maximize=['<Alt><Super>m']minimize=['<Control>m']move-to-corner-ne=['disabled']move-to-corner-nw=['disabled']move-to-corner-se=['disabled']move-to-corner-sw=['disabled']move-to-side-e=['disabled']move-to-side-n=['disabled']move-to-side-s=['disabled']move-to-side-w=['disabled']move-to-workspace-1=['<Shift><Super>Home']move-to-workspace-down=['<Shift><Super>Next']move-to-workspace-up=['<Shift><Super>Prior']show-desktop=['<Control>F3']switch-to-workspace-1=['<Super>Home']switch-to-workspace-down=['<Super>Next']switch-to-workspace-up=['<Super>Prior']switch-windows=['disabled']switch-windows-backward=['disabled']toggle-fullscreen=['<Control><Super>f']toggle-maximized=['<Shift><Control>m']toggle-shaded=['<Alt><Super>s']unmaximize=['<Control><Alt>m']
Марко:
[org/mate/marco/global-keybindings]cycle-group='<Primary>grave'cycle-panels='disabled'cycle-windows='<Alt>grave'run-command-screenshot='<Primary><Shift>numbersign'run-command-window-screenshot='<Primary><Shift>dollar'show-desktop='<Primary>F3'switch-group='<Alt>Tab'switch-to-workspace-1='<Primary><Mod4>1'switch-to-workspace-2='<Primary><Mod4>3'switch-to-workspace-3='<Primary><Mod4>2'switch-to-workspace-4='<Primary><Mod4>4'switch-to-workspace-down='<Mod4>Down'switch-to-workspace-left='<Mod4>Left'switch-to-workspace-prev='<Shift><Mod4>Tab'switch-to-workspace-right='<Mod4>Right'switch-to-workspace-up='<Mod4>Up'switch-windows='<Primary>Tab'[org/mate/marco/window-keybindings]activate-window-menu='disabled'begin-move='<Primary><Shift><Mod4>m'begin-resize='<Primary><Shift><Mod4>r'close='<Primary>q'maximize='<Alt><Mod4>m'maximize-horizontally='<Alt><Mod4>h'maximize-vertically='<Alt><Mod4>v'minimize='<Primary>m'move-to-corner-ne='<Alt><Mod4>2'move-to-corner-nw='<Alt><Mod4>1'move-to-corner-se='<Alt><Mod4>4'move-to-corner-sw='<Alt><Mod4>3'move-to-side-e='<Alt><Mod4>Left'move-to-side-n='<Alt><Mod4>Up'move-to-side-s='<Alt><Mod4>Down'move-to-side-w='<Alt><Mod4>Right'move-to-workspace-1='<Primary><Alt><Mod4>1'move-to-workspace-2='<Primary><Alt><Mod4>2'move-to-workspace-3='<Primary><Alt><Mod4>3'move-to-workspace-4='<Primary><Alt><Mod4>4'move-to-workspace-down='<Primary><Mod4>Down'move-to-workspace-left='<Primary><Mod4>Left'move-to-workspace-right='<Primary><Mod4>Right'move-to-workspace-up='<Primary><Mod4>Up'tile-to-corner-ne='<Shift><Alt>at'tile-to-corner-nw='<Shift><Alt>exclam'tile-to-corner-se='<Shift><Alt>dollar'tile-to-corner-sw='<Shift><Alt>numbersign'tile-to-side-e='<Shift><Alt>Right'tile-to-side-w='<Shift><Alt>Left'toggle-fullscreen='<Primary><Mod4>f'toggle-maximized='<Primary><Shift>m'toggle-shaded='<Alt><Mod4>s'unmaximize='<Alt><Mod4>r'