Bagaimana cara memetakan kembali tombol Caps Lock dan Ctrl?


77

Saya ingin memetakan kembali kunci saya yang Ctrlberfungsi sebagai Caps Lockkunci dan sebaliknya. Juga, jika mungkin saya ingin pengaturan hanya tersedia di dalam pengguna yang saat ini masuk. Bagaimana saya bisa mencapai ini?

Saya pengguna vim, tidak seperti orang lain yang menggunakan mesin ini, jadi saya ingin pengaturan itu hanya untuk akun saya.


1
Apakah ini membantu?
Mitch


4
Saya terkejut bahwa ini bukan fitur standar dalam pengaturan Linux di zaman sekarang ini.
Edward Falk

Jawaban:


59

13.10+:

Menginstal dan menggunakan gnome-tweak-tool> Keyboard & Mouse> Keyboard> Additional Layout Options> Caps Lock behavior.

Pra 13.10:

Buka dialog Preferensi Keyboard ( System -> Preferences -> Keyboard). Pada tab tata letak, klik Options...tombol. Luaskan Ctrl key positionbagian dan pilih Swap Ctrl and Caps Lock.

Pengaturan itu harus diterapkan setiap kali Anda masuk, dan hanya akan memengaruhi akun pengguna Anda.


2
Opsi ini telah menghilang di Ubuntu Saucy. Saya tidak yakin bagaimana menjelaskan ini tetapi tidak ada. Preferensi Keyboard tidak memiliki "tab Tata Letak", tetapi ada tombol "pengaturan tata letak", dan ketika saya mengkliknya akan membawa saya ke tab "Sumber Input" dari panel "Wilayah & Bahasa" panel, yang secara misterius kekurangan jenis apa pun dari tombol 'Opsi'. Satu-satunya tombol di sana membuka keyboard virtual di layar yang menampilkan tata letak keyboard saya yang rusak kepada saya tanpa mengubah kunci mana yang berlaku.
robru

4
Untuk Ubuntu 13.10, Anda harus menggunakan gnome-tweak-tool.
Jeremy Bicha

1
Opsi Pre 13.10 bekerja untuk saya pada 14,04
JeremyKun

Sama seperti @JeremyKun. Dalam kasus saya, menggunakan 14,04, solusi pra 13.10 bekerja tetapi 13,10+ tidak
matiascelasco

Terima kasih atas jawaban ini! Ini gnome-tweak-toolsangat bagus; Anda juga dapat menggunakannya untuk pengaturan seperti "gunakan Caps Lock untuk beralih tata letak keyboard" (favorit pribadi) dan "alihkan Alt / Win" (yang berguna jika Anda telah lama menjadi pengguna Mac ...)
Per Lundberg

63

Salah satu cara terbaik untuk melakukannya secara grafis adalah dengan menginstal Gnome Tweak Tool :

sudo apt-get install gnome-tweak-tool

  • Buka alat tweak dan klik pada bagian pengetikan di kolom kiri.
  • Anda sekarang akan melihat perilaku tombol Caps Lock di sebelah kiri.
  • Pilih Jadikan Kunci Lock sebagai tambahan tombol Ctrl daripada Dinonaktifkan di daftar drop-down dan Anda akan menjadi baik.

Selain itu panel pengaturan tidak membutuhkan banyak waktu untuk muncul di mesin saya, jadi saya tidak tahu apa masalahnya.

Nikmati Ctrlkunci baru Anda !


Saya ingin menggunakan kunci CAPS saya untuk mematikan layar saya. Saya mengatur ini sebelumnya di jendela Pengaturan Sistem> keyboard, tetapi CAPS masih mengaktifkan status CapsLock dan LED. Jadi saya menonaktifkan kunci dengan alat yang Anda rekomendasikan (yang memiliki beberapa kesalahan tampilan antara - latar belakang jendela transparan), yang juga menghentikan pintasan khusus saya agar tidak berfungsi. Setelah menonaktifkan, saya harus mengatur pintasan lagi agar bisa berfungsi. Sudah diatur ke nilai 0xff atau sesuatu seperti ini, bukan CAPS. Saya pikir prosedur ini mungkin membantu beberapa pembaca di masa depan dengan harapan yang sama.
Byte Commander

Ketika saya menjalankan gnome-tweak-tool dari baris perintah, ada pesan kesalahan tentang shell tidak menjalankan DBus dan kemudian setiap upaya yang saya lakukan untuk mengubah pengaturan tidak berpengaruh.
Edward Falk

1
Pembaruan: gnome-tweak-tool hanya berfungsi di dalam shell gnome
Edward Falk

1
tidak ada bagian "mengetik" di kolom sebelah kiri saya: hanya Desktop, Font, Shell, Ekstensi Shell, Tema, Windows.
Reb.Cabin

2
Perhatikan opsi di gnome-tweak-tool untuk bertukar berada di bawah "Ctrl key position", bukan "Perilaku kunci Caps Lock".
Phil Goetz

59

Berikut cara untuk melakukannya tanpa menginstal perangkat lunak tambahan:

setxkbmap -layout us -option ctrl:nocaps

Sumber:


3
Ini tidak bertahan setelah reboot. Bagaimana saya bisa membuat ini permanen? Saya lebih suka tidak meletakkan ini di skrip startup (misalnya .bashrc).
nic

8
Anda juga harus mengubah file sudo vi /etc/default/keyboarddan mengubahnya XKBOPTIONS="ctrl:nocaps". Jalankan perintah Jorge setelah itu tetapi karena setxkbmap -option ctrl:nocapsitu tidak mengubah tata letak keyboard default Anda.
Léo Léopold Hertz 준영

43

Buka berikut ini untuk diedit:

sudo vi /etc/default/keyboard

Dan edit XKBOPTIONS="ctrl:swapcaps"

Kemudian, konfigurasi ulang:

sudo dpkg-reconfigure keyboard-configuration

atau

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

Pertanyaannya adalah "Saya ingin pengaturan itu hanya untuk akun saya." Pengeditan / etc / default / keyboard akan mengubahnya untuk semua orang.
skierpage

1
Anda memiliki 3 langkah (1, 2, 3). Apakah maksud Anda [(1 dan 2) atau 3] atau [1 dan (2 atau 3)]?
jgomo3

Bagus! Jalankan sudo dpkg-reconfigure keyboard-configurationdan tekan beberapa entri, dan itu berhasil !!! EDIT: namun, setelah saya keluar dan masuk kembali, pengaturannya hilang. :(
LeOn - Han Li

24

Untuk mengubah perilaku secara permanen:

  1. Lari dconf-editor

  2. Pilih org.gnome.desktop.input-sources

  3. Ubah xkb-optionske ['ctrl:nocaps'](atau tambahkan ke opsi yang ada)

atau di baris perintah ( Peringatan - ini menimpa pengaturan Anda yang ada! ):

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

Liner satu ini juga dapat ditambahkan ke ~ /. Profil untuk portabilitas.
jthetzel

Ini tidak berfungsi untuk saya di Kubuntu 16.04, bahkan setelah reboot.
zplizzi

3
pengaturan dconf langsung berlaku dan persisten, jadi tidak masuk akal untuk meletakkannya di ~ / .profile dan tidak perlu melakukan reboot. Pengaturan khusus ini hanya berlaku untuk Gnome / Unity, bukan KDE yang digunakan di Kubuntu.
Anton Eliasson

4

Ini adalah tugas yang mudah setelah Anda tahu cara melakukannya.

1) Periksa kode kunci kunci milik Anda. Jalankan program ini di terminal.

xev


Pada contoh ini, terminal menunjukkan bahwa kode kunci untuk saya kadalah "45".

2) Ubah sesuai keinginan Anda saat membuat file ini:

gedit ~ / .Xmodmap

Kontennya akan terlihat seperti contoh ini:

keycode 37 = Caps_Lock NoSymbol Caps_Lock
keycode 66 = Control_L NoSymbol Control_L

(Ubah nomor kode kunci sesuai kebutuhan - lihat langkah "1")

Ilustrasi:
(Obs .: jika saya ingin mengubah saya, ksaya harus menggunakan "kode kunci 45" seperti yang ditunjukkan pada langkah "1").

4) Logout dan masuk kembali atau reboot atau jalankan ini:

xmodmap ~ / .Xmodmap

Semoga anda menikmati ;-)


2
Perhatikan bahwa solusi ini cenderung menyebabkan masalah untuk apa pun kecuali keymaps yang paling sederhana. Kompatibilitas xmodmap dalam sistem xkb yang lebih baru tidak sempurna, jadi Anda mungkin lebih baik tetap menggunakan xkb jika memungkinkan.
James Henstridge

@ James, apakah Anda ingin menjelaskan bagaimana kami bisa melakukan itu?
desgua

Lihat jawaban lain untuk pertanyaan ini. Panel kontrol keyboard standar akan membangun dan xkb keymap dari tata letak dasar yang Anda pilih plus opsi yang Anda aktifkan.
James Henstridge

1
Nah, Anda dapat mengatur keymaps yang sama menggunakan setxkbmapprogram baris perintah . Menulis keymaps baru dimungkinkan, tetapi sedikit lebih terlibat daripada pemetaan kode Xmodmap. Ini adalah hal yang baik bahwa sebagian besar varian opsi yang Anda inginkan sudah tersedia.
James Henstridge

1
@ James. Saya telah mencari dan belajar tentang setxkbmap. Tetapi saya tidak dapat menemukan jawaban untuk: apakah mungkin untuk membuat ulang kunci untuk apa pun yang kita inginkan? Misalnya sesuatu yang eksentrik seperti: "kode kunci 51 = bracketright braceright bracketright braceright maskulin"?
desgua

4

Ini adalah cara melakukannya secara manual (tanpa alat tambahan), melalui XKB, yang merupakan manajer kunci default untuk Ubuntus terbaru. Ubah /usr/share/X11/xkb/symbols/pc, bagian xkb_symbols "pc105":

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

Masuk / keluar atau reboot. Lihat di sini untuk detail lebih lanjut.

Atau Anda dapat bertukar pada tingkat kode kunci, yang dipancarkan oleh tombol-tombol itu. Modify /usr/share/X11/xkb/keycodes/evdev:

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

Anda harus sudo rm -rf /var/lib/xkb/*menerapkan perubahan.


Poin bagus tentang bekerja di level kode kunci. Di laptop saya yang menjalankan Kubuntu Bionic, hanya mengubah pada level simbol tidak memuaskan karena menekan tombol Caps fisik masih mengaktifkan keadaan Caps internal. Mengubah kode kunci berfungsi! BTW saya memperpanjang ini menjadi tiga kunci (Caps, Meta dan RAlt) dan ingin mencatat bahwa Anda benar-benar perlu menulis <CAPS> = *orig code of the physical key you want to act **as** CAPS*daripada <CAPS> = *orig code of the key you want physical CAPS to act **as**(saya harap perbedaannya jelas). Perbedaan ini diperlukan dalam kasus seperti itu.
jamadagni

3

Jawaban yang diterima membingungkan karena gnome-tweak-tools tidak menunjukkan bagian "mengetik".

Sebagai gantinya, klik pada bagian "Keyboard & Mouse" lalu pilih "Opsi Tata Letak Tambahan". Di sana, Anda akan melihat "Perilaku Caps Lock" yang memungkinkan konversi caps lock ke tombol yang berbeda.

Tangkapan layar dari alat tweak


2

Pada distribusi berbasis KDE (seperti KDE Neon atau Kubuntu) perilaku ini dapat dikonfigurasi dalam pengaturan sistem reguler. Buka pengaturan sistem, pilih "Input Devices" => "Keyboard" => "Advanced". Dalam kategori "Posisi tombol Ctrl" pilih "Tukar Ctrl dan Caps Lock".

Cuplikan layar modul Keyboard Pengaturan Sistem KDE


0

gnome-tweaks 3.28.1 tidak memiliki Typingbagian.
Dengan demikian, setxkbmap -layout us -option ctrl:nocapsatau setxkbmap -layout us -option ctrl:swapcapsakan menjadi opsi yang layak.

Untuk membuatnya permanen, Anda bisa merujuk ke jawaban @name.


Keyboard & mouse -> opsi tata letak tambahan
Voyager
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.