Caps Lock ve Ctrl anahtarlarını nasıl yeniden eşlerim?


77

Anahtarlarımı Ctrl, Caps Lockanahtar ve tam tersi gibi davranacak şekilde yeniden eşleştirmek istiyorum . Ayrıca, mümkünse, ayarların yalnızca şu anda oturum açmış kullanıcı içinde kullanılabilir olmasını istiyorum. Bunu nasıl başarabilirim?

Ben bu makineyi kullanan diğer insanların aksine ben bir vim kullanıcısıyım, bu yüzden bu ayarları sadece hesabım için istiyorum.


1
Mu bu yardım?
Mitch


4
Bunun, bugün ve yaşta Linux ayarlarında standart bir özellik olmadığını öğrendim.
Edward Falk

Yanıtlar:


59

13.10+:

Yükleme ve kullanma gnome-tweak-tool> Keyboard & Mouse> Keyboard> Additional Layout Options> Caps Lock behavior.

13.10 öncesi:

Klavye Tercihleri ​​iletişim kutusunu açın ( System -> Preferences -> Keyboard). Düzen sekmesinde, Options...düğmesine tıklayın. Ctrl key positionBölümü genişletin ve öğesini seçin Swap Ctrl and Caps Lock.

Bu ayarlar her giriş yaptığınızda uygulanmalıdır ve yalnızca kullanıcı hesabınızı etkiler.


2
Bu seçenek Ubuntu Saucy'de kayboldu. Bunu nasıl açıklayacağımdan emin değilim ama sadece orada değil. Klavye tercihlerinde "Düzen sekmesi" yoktur, ancak "düzen ayarları" düğmesi vardır ve tıkladığımda beni gizemli bir şekilde bulunmayan "Bölge ve Dil" panelinin "Giriş Kaynakları" sekmesine götürür. 'Seçenekler' düğmesinin. Buradaki tek düğme, hangi tuşların hangi şekilde davranacağını değiştirmenin hiçbir yolu olmadan kırılmış klavye düzenimi bana gösteren sanal bir ekran klavyesini açar.
robru

4
Ubuntu 13.10 için gnome-tweak-tool kullanmanız gerekir.
Jeremy Bicha

1
13.10 öncesi seçenek
14.04'te

@ JeremyKun ile aynı. Benim durumumda, 14.04 kullanarak, ön 13.10 çözümü işe yaradı ancak 13.10+ vermedi
matiascelasco 18:17

Bu cevap için teşekkürler! gnome-tweak-toolGerçekten güzel; Ayrıca "kullanım klavye düzenleri arasında geçiş için Caps Lock" gibi incelikler (kişisel favori) ve (Eğer uzun zamandır Mac kullanıcı ... been kullanışlıdır) "anahtarı Alt / Win" için kullanabilirsiniz
Per Lundberg

63

Bunu grafiksel yapmanın en iyi yollarından biri, Gnome Tweak Tool'u kurmaktır :

sudo apt-get install gnome-tweak-tool

  • Tweak-tool'u açın ve sol sütundaki yazma bölümüne tıklayın .
  • Şimdi solda Caps Lock tuşunun davranışını görmelisiniz .
  • Açılır listede , Devre Dışı Bırakmak yerine bir ek Ctrl tuşu Yap Büyük Harf Kilidi Yap'ı seçin .

Ayar panelinin yanı sıra makineme gelmesi de çok zaman almıyor, bu yüzden sorunun ne olduğu hakkında hiçbir fikrim yok.

Yeni Ctrlanahtarın tadını çıkar !


Ekranımı kapatmak için CAPS anahtarımı kullanmak istedim. Bunu daha önce Sistem Ayarları> klavye penceresinde kurdum, fakat CAPS hala CapsLock durumunu ve LED'lerini değiştirdi. Bu yüzden anahtarı, özel kısayolumun çalışmamasını durduran (btw. - şeffaf pencere arka planında bazı ekran hataları olan) önerdiğiniz araçla devre dışı bıraktım. Devre dışı bıraktıktan sonra, çalışabilmesi için kısayolu tekrar ayarlamak zorunda kaldım. CAPS yerine 0xff veya buna benzer bir değere ayarlandı. Bu prosedürün gelecekteki bazı okuyuculara benzer dileklerle yardımcı olabileceğini düşündüm.
Byte Commander

Gnome-tweak-tool komut satırından çalıştırdığımda, Shell'in DBus'u çalıştırmamasına ilişkin bir hata mesajı var ve sonra ayarları değiştirmek için yaptığım girişimlerin hiçbir etkisi olmaz.
Edward Falk

1
Güncelleme: gnome-tweak-tool sadece gnome kabuğunun içinde çalışır
Edward Falk

1
sol sütunda "yazma" bölümü yok: yalnızca Masaüstü, Yazı Tipleri, Kabuk, Kabuk Uzantıları, Tema, Windows.
Reb.Cabin

2
Gnome-tweak-tool'daki takas seçeneğinin "Caps Lock tuşu davranışı" değil "Ctrl tuşu konumu" altında olduğuna dikkat edin.
Phil Goetz

59

Ekstra yazılım yüklemeden yapmanın bir yolu:

setxkbmap -layout us -option ctrl:nocaps

Kaynak:


3
Bu yeniden başlatmadan sonra hayatta kalamaz. Bunu nasıl kalıcı yapabilirim? Bunu bir başlangıç ​​betiğine koymamayı tercih ederim (örneğin .bashrc).
Nişan

8
@ nicel Ayrıca dosyayı sudo vi /etc/default/keyboarddeğiştirmeniz ve değiştirmeniz gerekir XKBOPTIONS="ctrl:nocaps". Jorge'nin komutunu bundan sonra çalıştırın, ancak setxkbmap -option ctrl:nocapsvarsayılan klavye düzeninizi değiştirmez.
Léo Léopold Hertz 준영

43

Düzenlemek için aşağıdakileri açın:

sudo vi /etc/default/keyboard

Ve düzenle XKBOPTIONS="ctrl:swapcaps"

Ardından, yeniden yapılandırın:

sudo dpkg-reconfigure keyboard-configuration

veya

/usr/bin/setxkbmap -option "ctrl:swapcaps"

Soru, "Bu ayarları yalnızca hesabım için istiyorum." İdi. Düzenleme / etc / default / keyboard herkes için değişecek.
skierpage

1
3 adımınız var (1, 2, 3). [(1 ve 2) veya 3] veya [1 ve (2 veya 3)] anlamına mı geliyorsunuz?
jgomo3

Harika! Koştu sudo dpkg-reconfigure keyboard-configurationve basın birkaç girer ve işe yaradı !!! EDIT: Ancak, ben oturumu kapatıp tekrar giriş yaptıktan sonra ayar kayboldu. :(
LeOn - Han Li

24

Davranışı kalıcı olarak değiştirmek için:

  1. Çalıştırmak dconf-editor

  2. seçmek org.gnome.desktop.input-sources

  3. Değişim xkb-optionsiçin ['ctrl:nocaps'](veya varolan herhangi bir seçenek eklemek)

veya komut satırında ( Uyarı - bu mevcut ayarlarınızın üzerine yazar! ):

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

Bu bir astar, taşınabilirlik için ~ / .profile 'e de eklenebilir.
jthetzel

Bu benim için Kubuntu 16.04'te işe yaramadı, hatta bir yeniden başlatmadan sonra bile.
zplizzi 19:16

3
dconf ayarları derhal uygulanır ve kalıcıdır, bu nedenle ~ / .profile dosyasına yerleştirmenin bir anlamı yoktur ve yeniden başlatmaya gerek yoktur. Bu özel ayar, Kubuntu'da kullanılan KDE için değil, sadece Gnome / Unity için geçerlidir.
Anton Eliasson

4

Bunu nasıl yapacağınızı öğrendikten sonra bu kolay bir iştir.

1) Anahtarınızın şifresini kontrol edin. Bu programı terminalde çalıştırın.

xev


Bu örnekte, terminal benim için anahtar kodunun k"45" olduğunu gösterir.

2) Bu dosyayı oluştururken istediğiniz gibi değiştirin:

gedit ~ / .Xmodmap

İçeriği bu örnek gibi görünmelidir:

anahtar kodu 37 = Caps_Lock NoSymbol Caps_Lock anahtar kodu
66 = Control_L NoSymbol Control_L

(Anahtar kod numarasını gerektiği gibi değiştirin - "1" adımına bakın)

Ilustration:
(Obs .: değiştirmek kistersem "1" adımında gösterildiği gibi "keycode 45" kullanmalıyım).

4) Oturumu kapatıp tekrar açın veya yeniden başlatın veya şunu çalıştırın:

xmodmap ~ / .Xmodmap

Beğeneceğinizi umuyoruz ;-)


2
Bu çözümün en basit anahtar haritalardan başka bir şey için sorunlara neden olabileceğini unutmayın. Yeni xkb sistemindeki xmodmap uyumluluğu mükemmel değil, bu yüzden eğer mümkünse xkb'ye yapışmaktan muhtemelen daha iyi olursunuz.
James Henstridge

@ James nasıl yapabileceğimizi açıklamak ister misiniz?
desgua

Bu sorunun diğer cevabına bakınız. Standart klavye kontrol paneli, seçtiğiniz temel düzende artı etkinleştirdiğiniz seçeneklerde xkb keymap'i oluşturur.
James Henstridge

1
Peki, aynı tuş haritalarını komut satırı setxkbmapprogramını kullanarak ayarlayabilirsiniz . Yeni tuş haritaları yazmak mümkündür, ancak Xmodmap tuş kodu eşlemesinden biraz daha fazla söz konusudur. İstediğiniz seçenek değişkenlerinin çoğunun zaten mevcut olması iyi bir şeydir.
James Henstridge

1
@James. Setxkbmap ile ilgili araştırmalar yapıyorum. Ancak bunun için bir cevap bulamadım: İstediğimiz her şeyin anahtarını yeniden göndermek mümkün mü? Örneğin eksantrik gibi bir şey: "keycode 51 = dirsekli braceright dirsekli braceright eril bar"?
desgua

4

Bu, manuel olarak (ek araçlar olmadan), son Ubuntus'un varsayılan anahtar yöneticisi olan XKB aracılığıyla gerçekleştirilir. Değiştir /usr/share/X11/xkb/symbols/pc, bölüm xkb_symbols "pc105":

//key <CAPS> {  [ Caps_Lock     ]   };
//key <LCTL> {  [ Control_L     ]   };
key <CAPS> {    [ Control_L ]   };
key <LCTL> {    [ Caps_Lock     ]   };

Giriş / çıkış veya yeniden başlatma. Daha fazla bilgi için buraya bakınız.

Alternatif olarak, bu düğmeler tarafından yayılan tuş kodları düzeyinde takas edebilirsiniz. Modify /usr/share/X11/xkb/keycodes/evdev:

<CAPS> = 64; //66;
<LCTL> = 66; //64

sudo rm -rf /var/lib/xkb/*Değişiklikleri uygulamanız gerekecek .


Anahtar kod düzeyinde çalışma konusunda harika bir nokta. Kubuntu Bionic çalıştıran dizüstü bilgisayarlarımda, sadece sembol seviyesini değiştirmek tatmin edici değil çünkü fiziksel Caps tuşuna basmak hala dahili Caps durumunu değiştiriyor. Tuş kodlarını değiştirmek işe yarıyor! BTW Bunu üç anahtara (Caps, Meta ve RAlt) genişlettim ve aslında yazmak <CAPS> = *orig code of the physical key you want to act **as** CAPS*yerine aslında yazmanız gerektiğini not etmek isterim <CAPS> = *orig code of the key you want physical CAPS to act **as**(umarım açıktır). Bu ayrım bu gibi durumlarda gereklidir.
jamadagni

3

Kabul edilen cevap kafa karıştırıcı çünkü gnome-tweak-tools herhangi bir "yazarak" bölümünü göstermiyor.

Bunun yerine, "Klavye ve Fare" bölümünü tıklayın ve ardından "Ek Düzen Seçeneği" ni seçin. Burada, büyük harf kilidini farklı tuşlara dönüştürmeyi sağlayan "Büyük Harf Kilidi Davranışı" göreceksiniz.

Tweak-tool'dan ekran görüntüsü


2

KDE tabanlı dağıtımlarda (KDE Neon veya Kubuntu gibi), bu davranış normal sistem ayarlarında yapılandırılabilir. Sistem ayarlarını açın, "Giriş Aygıtları" => "Klavye" => "Gelişmiş" seçeneğini seçin. "Ctrl key position" kategorisinde "Swap Ctrl ve Caps Lock" tuşlarını seçin.

KDE'nin Sistem Ayarının Klavye modülünün ekran görüntüsü


0

gnome-tweaks 3.28.1'de Typingbölüm yok .
Böylece, setxkbmap -layout us -option ctrl:nocapsveya setxkbmap -layout us -option ctrl:swapcapsseçenek olabilirdi.

Kalıcı yapmak için @ name 'in cevabına bakabilirsiniz.


Klavye ve fare -> ek düzen seçeneği
Voyager
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.