Как переключить клавишу Command и Control на MacBook Pro?

45

Я прочесываю сеть, и я не могу заставить Xmodmap / что-то работать нормально. Я хочу поменять BOTH мои командные клавиши с помощью моего ключа управления - по сути, инвертируя то, что они делают в настоящее время.

Как мне это сделать?

Я пробовал xmodmap -e "keycode 133 = Control_L" и соответствующие команды для кодов клавиш 134 (правая команда) и 37 (управление слева). Я даже пробовал эти команды, плюс xmodmap -pke > ~/.Xmodmap и xmodmap ~/.Xmodmap в .xinitrc .

Моя конечная цель . Я хочу, чтобы HUD / Dash появился, когда я нажимаю control и command на функциональный контроль, т. е. control-v - это комбо-комбинация для вставки, я бы нажмите command-v

    
задан kalaracey 05.05.2012 в 09:29
источник

6 ответов

51

Я понял это. Поместите следующее в ~/.Xmodmap :

clear control
clear mod4

keycode 105 =
keycode 206 =

keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 37 = Super_L NoSymbol Super_L

add control = Control_L
add control = Control_R
add mod4 = Super_L

Чтобы проверить, запустите команду:

xmodmap ~/.Xmodmap

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

Это должно работать на любом MacBook Pro; проблема заключалась в том, что Xmodmap присваивал Super_L левым и правым командам, а Control_L - левому управляющему ключу. По какой-то причине Ubuntu по умолчанию считает, что MacBook Pro имеет стандартную 105-клавишную клавиатуру (возможно, думает о полной клавиатуре Apple), но это неправильно. Во всяком случае, я переписал коды клавиш в нужные ключи, а затем назначил ключи для control и mod4 .     

ответ дан kalaracey 30.06.2012 в 16:50
источник
19

Я только что установил двойную загрузку Ubuntu 16.04 на мой MBP13 ». Для Ubuntu 16.04 вот как я это сделал:

Шаг 1: Запустить терминал

Шаг 2: Редактирование расширения клавиатуры X

sudo nano /usr/share/X11/xkb/symbols/pc

Шаг 3: Внесите следующие изменения. Убедитесь, что ваш файл выглядит следующим образом:

key <LCTL> {    [ Super_L       ]   };
key <LWIN> {    [ Control_L     ]   };

...

key <RCTL> {    [ Super_R       ]   };
key <RWIN> {    [ Control_R     ]   };

Шаг 4: Очистить кеш xkb

sudo rm -rf /var/lib/xkb/*

Шаг 5 (условный): если после шага 4 ключи не меняются, перезагрузите компьютер. Это сработало для меня после этого.

Надеюсь, это поможет, удачи!

    
ответ дан Joel Koh 02.05.2016 в 08:23
13

Перейдите в System -> Preferences -> Keyboard

Перейдите на вкладку «Макеты» и нажмите кнопку «Параметры макета».

Нажмите «Alt / Win key behavior»

Выберите «Управление сопоставлено клавишам Win (и обычной клавише Ctrl).

из Ссылка

    
ответ дан alex reska 03.02.2013 в 01:02
6

Перейдите к системным настройкам, а затем к раскладке клавиатуры, затем к параметрам, затем к поведению клавиш Win / Alt, а затем установите флажок «Мета-переключатели Ctrl», а затем в поле «Ctrl» выберите «Ctrl-переключатели Meta», и у вас есть это!

12.04.1 вы измените это на:

Сначала перейдите в «Системные настройки», затем нажмите «Клавиатура», затем «Настройки макета» (в левом нижнем углу), затем «Параметры» в правом нижнем углу, а затем разверните вкладку «Alt / Win key», затем выберите «Управление сопоставлено для выигрыша ключей (и обычных клавиш Ctrl)»

    
ответ дан TenorB 08.05.2012 в 20:15
5

справочная страница сообщества Ubuntu для клавиатуры Apple дает следующие шаги для постоянного внесения этого изменения: (проверено 2017-05-27)

  

Выполните следующую команду, чтобы добавить строку конфигурации в файл    /etc/modprobe.d/hid_apple.conf , создавая при необходимости:

echo options hid_apple swap_opt_cmd=1 | sudo tee -a /etc/modprobe.d/hid_apple.conf
     

Запуск копирования конфигурации в загрузочный файл initramfs.

sudo update-initramfs -u -k all
     

При необходимости перезагрузите

sudo reboot

Чтобы временно протестировать его, вы можете запустить

echo 1 | sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
    
ответ дан RasmusWriedtLarsen 26.05.2017 в 12:59
1

Дубликат Как поменять клавиши управления и управления с помощью xkb шаг за шагом?

В 16.04, вот как я, наконец, получил это, чтобы работать. Xmodmap не работает повсеместно во всех приложениях, в инструменте gnome tweak отсутствует функция, dconf, редактирование пользовательского свопа ключей Altwin2 (как и главный ответ здесь) не удалось, поэтому я рвал волосы до тех пор, пока не объединил несколько ответов в этот полный, простой , и элегантное решение:

gksudo gedit /usr/share/X11/xkb/symbols/pc

измените его на:

default  partial alphanumeric_keys modifier_keys
xkb_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> {    [ Alt_L     ]   };
key <LWIN> {    [ Super_L       ]   };

key <RTSH> {    [ Shift_R       ]   };
key <RCTL> {    [ Alt_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, Control_L, Control_R    ]   };
//include "altwin(meta_alt)"
key <LALT> {    [ Control_L     ]   };
key <RALT> {    [ Control_R     ]   };
modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };

key <META> {    [ NoSymbol, Meta_L, Meta_R  ]   };
modifier_map Mod1   { <META> };

key <SUPR> {    [ NoSymbol, Super_L ]   };
modifier_map Mod4   { <SUPR> };

key <HYPR> {    [ NoSymbol, Hyper_L ]   };
modifier_map Mod4   { <HYPR> };
// End of modifier mappings.

key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_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        ]   };
};

Сохранить.

rm -rf /var/lib/xkb/*

(Я не знаю, требуется ли это, но я это сделал.)

Reboot.

    
ответ дан Tom Mercer 22.03.2017 в 04:42