MacBook Pro'daki Command ve Control tuşlarını nasıl değiştiririm?


59

Web’i taradım ve Xmodmap’ın düzgün çalışmasını sağlayamıyorum. Şu anda ne yaptıklarını tersine çevirerek, Komut tuşlarımı Kontrol tuşumla değiştirmek istiyorum - özünde.

Bunu nasıl yaparım?

xmodmap -e "keycode 133 = Control_L"Tuş kodları 134 (sağ komut) ve 37 (sol kontrol) için karşılık gelen komutları denedim . Bu komutları bile denedim, artı xmodmap -pke > ~/.Xmodmapve xmodmap ~/.Xmodmapiçeri .xinitrc.

Son hedefim, HUD / Dash'in tıkladığımda controlve commandişlevsel kontrole geldiğimde ortaya çıkmasını istiyorum , yani control-vyapıştırmak için bir kısayol kısayolu.command-v

Yanıtlar:


64

Bunu anladım. Aşağıdakileri yazın ~/.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

Test etmek için komutu çalıştırın:

xmodmap ~/.Xmodmap

Her seferinde çalıştırılmasını sağlamak için Başlangıç ​​Uygulamaları'na ekleyin.

Bu herhangi bir MacBook Pro'da çalışmalıdır; Sorun, Xmodmap'ın sol ve sağ komut tuşlarına Super_L ve sol kontrol tuşuna Control_L atamasıydı. Bazı nedenlerden dolayı, Ubuntu varsayılan olarak MacBook Pro'nun standart bir 105 tuşlu klavyeye sahip olduğunu düşünüyor (muhtemelen tam Apple Klavyesini düşünüyor) ama bu yanlış. Her neyse, tuş kodlarını doğru keyims'e atadım, sonra keyims'i controlve olarak atadım mod4.


Fazladan bir sorum var: sol Kontrol tuşunu alt tuş olarak değiştirmek için nasıl değiştirebilirim ve sol Kontrol tuşunu sola çevirmek için sol Kontrol tuşunun yanındaki alt tuşunu Viceversa'da nasıl değiştirebilirim?
719016

sağ taraftaki kazan düğmesinin çalışmasını nasıl sağlayabilirim?
arcanine

Bunun klavye düzenini değiştirme ile iyi çalışmadığını unutmayın. Bu nedenle, birden fazla düzen kullanıyorsanız, her düzen değişikliğinden sonra xmodmap çalıştırmanız gerekir. Aşağıda / usr / share / X11 / xkb / semboller / bilgisayarın düzenlenmesini öneren cevap aşağıdadır.
59'da clorz

VNCViewer'da çalışıyor mu. Gnome masaüstünü kullanıyorum ve elma klavyemi (Komut tuşu) Ctrl Tuşu ile değiştirmek istiyorum.
Ahmed,

32

Ubuntu 16.04 çift önyüklemesini MBP13'ümde dün "yeni kurdum. Ubuntu 16.04 için, işte nasıl yaptım:

Adım 1: Terminali başlat

Adım 2: X Klavye Uzantısını Düzenle

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

Adım 3: Aşağıdaki değişiklikleri yapın. Dosyanızın şöyle görünmesini sağlayın:

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

...

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

Adım 4: xkb'nin önbelleğini temizleme

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

5. Adım (koşullu): 4. adımdan sonra tuşlar değiştirilmezse, bilgisayarınızı yeniden başlatın. Bundan sonra benim için çalıştı.

Umarım yardımcı olur, iyi şanslar!


Bu kabul edilen cevaptan çok daha iyi bir çözüm.
Bay Axilus

Benim için işe yaramadı.
Chovy

Bu gerçek (2017) cevap.
CESCO

Cevap bu. Değişiklikten sonra yeniden başlatılması gerekiyor. Teşekkür
lxm7

Bu benim için çalıştı! Sonunda Mac OS ve Linux arasında geçiş yapmak, neredeyse hiç kas hafızası yeniden programlamayı gerektirmez :)
JoLoCo

15

İçine gitmek System -> Preferences -> Keyboard

"Düzenler" sekmesine tıklayın ve ardından "Düzen Seçenekleri" düğmesine tıklayın.

"Alt / Win tuş davranışını" tıklayın

"Kontrol, Win tuşlarıyla eşleştirildi (ve normal ctrl tuşuyla) seçin.

dan http://ubuntuforums.org/showthread.php?t=1293081


9
Sadece bir not - bu tuşları değiştirmez , sadece komut tuşlarını ek kontrol tuşları yapar.
Fabian Tamp,

Bu Ubuntu 16.04 için çalışmıyor.
Eşsiz

Bu, Ubuntu 18.04'te istenen davranışa yol açıyor gibi görünüyor
RM de Vos

Ubuntu'da Apple klavyesini kullandığım için "alt Win ile değiştirildi" kullandım.
SM Adnan,

6

Sistem ayarlarına ve ardından klavye düzenine, ardından seçeneklere, ardından Win / Alt anahtar davranışına gidin ve ardından "Meta anahtarları Ctrl" i ve ardından Ctrl Konumu'nda "Ctrl anahtarları Meta" seçeneğini işaretleyin ve işte burada!

12.04.1’de bunu şu şekilde değiştirirsiniz:

Önce "Sistem Ayarları" na gidiniz, sonra "Klavye" ye, sonra "Düzen Ayarları" na (sol altta), sonra sağ altta "Seçenekler" e tıklayıp "Alt / Win anahtar davranışı" sekmesini açınız, sonra "" seçeneğini seçiniz. Kontrol, Keys (ve her zamanki Ctrl anahtarlarını) kazanmak için eşlenir


12.04'te benim için çalıştı. Aslında inanamıyorum, ama işe yaradı. .Xmodmap
jyoseph

Bu harika, teşekkürler. Yeni sisteme sahibim (ikinci paragrafta ne tarif edersiniz). Ctrl, Win tuşlarına eşlenir ve Cmd'nin Ctrl gibi davranmasını sağlar. Ctrl tuşu konumu -> Meta, tersini yaptığı gibi sol Ctrl. Ayrıca bir not olarak, Başlangıç ​​ve Kapatma -> Servis Yöneticisi -> Başlangıç ​​Servislerine gidip Klavye Daemon'unu aktif hale getirmek zorunda kaldım (bu varsayılan olarak kapalıydı).
0__

14.04 bu "Seçenekler" bağlantısına sahip görünmüyor.
Waldir Leoncio,

Ubuntu 15.04 gelince, bu seçenek "Giriş Cihazları> Klavye> Gelişmiş sekmesi> Alt / Win tuşu davranış bölümü> Ctrl Keys (ve her zamanki Ctrl tuşlarına) kazanmak için eşleştirilmiş" 'da bulabilirsiniz
Serj Zaharchenko

2
Bunlardan herhangi birini Ubuntu'da bulabilirsiniz 16.04
Houman 18

5

Topluluk Ubuntu yardım sayfası Elma klavyeleri kalıcı Bu değişikliği yapmak için aşağıdaki adımları verir: (2017-05-27 test)

/etc/modprobe.d/hid_apple.confGerekirse, onu oluşturan dosyaya yapılandırma satırını eklemek için aşağıdaki komutu çalıştırın :

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

Yapılandırmayı initramfs önyükleme dosyasına kopyalamayı tetikleyin.

sudo update-initramfs -u -k all

İsteğe bağlı olarak, yeniden başlat

sudo reboot

Geçici olarak test etmek için çalıştırabilirsiniz.

echo 1 | sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd

4

Verilen cevapların hiçbiri sistemimde işe yaramadı çünkü 18.04 için güncellenmiştir. 18.04 temiz bir kurulum yaptım ve kablolu bir alüminyum elma klavyesini kullanmaya çalışıyorum. Left Super'in İngilizce ABD'deki varsayılan davranışı Gnome Desktop Dashboard ile eşleştirilir. Tweak aracı, kullanımı kolay bir GUI'de gerekli tüm ayarlara sahipti!

sudo apt install gnome-tweak-tool

İlk önce gösterge panelinin kısayol tuşunu sağ tarafa kaydırdım ve sonra "Ek Düzen Seçenekleri" altında "Ctrl pozisyonu / Sola Ctrl Sol Sola Değiştir " işlevini kullanarak iyi bir etki elde edebilirsiniz.


GNOME tweak aracı şaşırtıcı, teşekkür ederim!
Dennis Golomazov,

Bu kabul edilen cevap olmalı. Mac için, şu anda Gnome Tweak Tools'un Keybord & Fare> Ek Düzen Seçenekleri> Ctrl pozisyonu> Sol Ctrl ile Sola Dönme Değiştir altında istediğim ayara sahip olduğunu tespit ediyorum. Mac klavyenin Komut tuşuna "Win" adı verildi.
bhaller

2019'da Gnome'da bu en kolay çözümdür. Thanks
jymbob

1

Yinelenen Komut ve Kontrol tuşlarının adım adım xkb ile değiştirilmesi?

16.04'te, işte sonunda çalışmamı sağlayan yol. Xmodmap evrensel olarak tüm uygulamalarda çalışmaz, gnome tweak aracı işlevden yoksundu, özel bir altwin2 anahtar takas düzenlemesi dconf dconf (burada ana cevap gibi) başarısız oldu, bu yüzden birkaç tam cevap bu kadar basit olana kadar saçlarımı koparıyordum. ve zarif bir çözüm:

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

şuna değiştir:

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        ]   };
};

Kayıt etmek.

rm -rf /var/lib/xkb/*

(Bunun gerekli olup olmadığını bilmiyorum, ama yaptım.)

Yeniden Başlatma.


Bu güzeldi ama ALT tuşlarımı sol Control tuşu olarak değiştirmek için aynı numarayı kullanamıyorum. ALT tuşları farklı şekilde çalışıyor gibi görünüyor. Nasıl yapabilirim biliyor musun?
Pierre Thibault,

Aynı numara her şey için çalışıyor. Hem anahtar eşlemeleri hem de modifier_map eşlemelerini değiştirmelisiniz. Ayrıca gnome tweaks veya gconf'a atlayabilirsiniz, hangisini unutacağım ve "swit ctrl ve alt" gibi çeşitli geçiş ayarları vardır.
Tom Mercer,

Yapamıyoruz: anahtar <LALT> {[Control_L]}; anahtar <RALT> {[Control_L]}; Alt farklı muamele görür. Bu yüzden Gnome Tweaks kullandım. Tam olarak istediklerime sahip olamadım ama o kadar da kötü değil.
Pierre Thibault

Sorunu anladığımdan emin değilim. Her iki altsın da kontrol olarak davranmasını istiyorsanız, tam olarak yukarıdaki gibi dosya her iki alt tuşun da kontrol olarak ve her iki kontrol tuşunun da alts gibi davranmasını sağlar. Her bir tuşun ne olmasını istediğinizi belirtebilirsiniz, belki yardım edebilir miyim? Bu dosyayı denedin mi? Hangi makineyi kullanıyorsunuz ve hangi klavyeyi kullanıyorsunuz? Fransızca klavye düzeni bize sorun veriyor olabilir.
Tom Mercer,

Hayır, dosyayı denemedim. Sonradan dosyada iki alt ile iki ctrl arasında geçiş yaptığınızı görebiliyorum. Onu özledim. Gösterdiğin için teşekkürler. Deneyeceğim.
Pierre Thibault

0

Kinto'yu yararlı bulabilirsiniz. Son zamanlarda yarattığım bir proje, birkaç yıl bu problemi birkaç farklı yolla çözdükten sonra ve şimdi paylaşmak için yeterince sağlam olduğunu hissediyorum.

Kinto kurulum programı ilk kurulumu yapmak için python'u kullanır, bundan sonra sadece systemd servisi olan bash, xprop, setxkbmap ve xkbcomp komutunu kullanır. Endişelendiğim kadarıyla, bulacağınız bu soruna en hızlı ve en doğal çözüm.

https://github.com/rbreaves/kinto

https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0

İşte aynı zamanda bir Gist, sadece her şeyin merkezinde ne olduğunu görmek istiyorsanız, gerektiğinde tuş eşlemenizi değiştirmeyecektir. Gist ayrıca, macos stil imleçleri / Cmd ve ok tuşlarını kullanan word-wise manipülasyonlarını ayarlayan özel xkb keymap dosyalarını içermez.

https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb

öz içeriği

# permanent apple keyboard keyswap
echo "options hid_apple swap_opt_cmd=1" | sudo tee -a /etc/modprobe.d/hid_apple.conf
update-initramfs -u -k all

# Temporary & instant apple keyboard keyswap
echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd

# Windows and Mac keyboards - GUI (Physical Alt is Ctrl, Physical Super is Alt, Physical Ctrl is Super)
setxkbmap -option;setxkbmap -option altwin:ctrl_alt_win

# Windows and Mac keyboards - Terminal Apps (Physical Alt is Super, Physical Super is Alt, Physical Ctrl is Ctrl)
setxkbmap -option;setxkbmap -option altwin:swap_alt_win

#
# If you want a systemd service and bash script to help toggle between
# GUI and Terminal applications then look at project Kinto.
# https://github.com/rbreaves/kinto
#
# Note: The above may not work for Chromebooks running Linux, please look
# at project Kinto for that.
#
# If anyone would like to contribute to the project then please do!
#
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.