Cara memetakan ulang kunci Super (kiri) untuk mengontrol kunci

26

Adakah yang bisa tolong beri tahu saya cara memetakan ulang Superkunci (kiri) saya menjadi Ctrlkunci?

Maksud saya Super(kiri) harus berfungsi sebagai Ctrlkunci.

Sandy
sumber
Apakah Anda ingin hanya tombol Super kiri yang berfungsi sebagai Ctrl? Sangat mudah untuk memetakan ulang sekaligus dari pengaturan Layout Keyboard, tetapi mengubah hanya satu yang harus dilakukan melalui file konfigurasi.
pconley
Ya, saya hanya ingin meninggalkan kunci Super untuk bertindak sebagai Ctrl ..
Sandy
Apakah tombol super merujuk ke tombol pada keyboard saya yang memiliki logo MS Windows di atasnya terletak di antara Kiri ctrl dan alt kiri / kanan alt gr dan kunci dengan logo aneh lain?
René Nyffenegger
1
@ RenéNyffenegger Tombol Super adalah Windowskunci pada keyboard PC dan Commandkunci pada keyboard Apple. Saya tidak sepenuhnya yakin apa kunci lain yang Anda gambarkan adalah
nhed

Jawaban:

28

Untuk membuat perubahan besar pada keyboard Anda, termasuk memetakan ulang karakter dan mengubah pengubah, Anda perlu menggunakan utilitas xmodmap - lihat man xmodmap. Ada beberapa cara untuk menjalankan perubahan:

  • baik dari baris perintah

    xmodmap -e "your commands"
    
  • atau tulis perintah ke file seperti .xmodmaprc, lalu jalankan di item login Anda atau .bashrc Anda dengan

    xmodmap .xmodmaprc
    

    Jika Anda memberi nama file ~/.xmodmapitu akan dieksekusi secara otomatis saat login.

Sekarang perintahnya

Yang ingin Anda lakukan adalah proses dua langkah. Pertama Anda menghapus Peta Super dari modifikasinya, lalu memetakannya untuk mengontrol.

  1. Jalankan xmodmap -pmdi jendela terminal untuk mendapatkan daftar pengubah terikat. Di komputer saya (dan mungkin milik Anda) Super disebut sebagai mod4. Super_Ldan Super_Rmerupakan tombol terpisah yang menghasilkan pengubah yang sama.

    Sekarang Anda dapat menghapus peta pengubah dari itu. Jalankan perintah xmodmap (menggunakan salah satu metode di atas)

    remove mod4 = Super_L
    

    Sekarang kunci fisik masih disebut secara internal sebagai Super_L, tetapi tidak melakukan apa-apa.

  2. Sekarang remap saja. Jalankan perintah xmodmap:

    add control = Super_L
    

Jika Anda ingin membatalkan ini nanti, jalankan saja perintah yang sama dengan argumen yang sesuai.

Tidak ada Super_R?

Output dari xmodmap -pm mungkin memberi Anda beberapa kunci bernama Super_L tetapi tidak ada yang bernama Super_R). Jika ya, Anda sekarang memiliki beberapa kunci tambahan yang ditetapkan untuk Kontrol, tetapi tidak ada yang ditugaskan ke Super. Anda harus mengganti nama satu kunci. (NB: ini mungkin memberi Anda beberapa Super_L dan setidaknya satu Super_R. Ini baik-baik saja.)

Nama-nama kunci dalam tabel semua memiliki nomor hex dalam tanda kurung di sebelahnya. Nomor ini adalah kode kunci fisik tombol pada keyboard Anda (dapat bervariasi tergantung model). Jika Anda perlu mengubah satu Super_L ke Super_R, pertama-tama temukan kode kunci yang ingin dikaitkan dengan Super_R (tidak yakin yang mana yang benar? Jalankan, xevlalu ketuk Super yang tepat beberapa kali. Di suatu tempat di labirin keluaran adalah " kode kunci = 133 "(dengan nomor berbeda)). Jalankan perintah xmodmap

keycode 133 = Super_R

untuk mengganti nama kunci, lalu

add mod4 = Super_R

untuk menetapkannya ke Super.

pconley
sumber
Pertama-tama terima kasih telah meluangkan waktu untuk saya. Ketika saya mengetik "hapus mod4 = Super_L" di terminal saya mendapat pesan ini: hapus mod4 = Super_L: perintah tidak ditemukan . Tangkapan layar: i.imgur.com/fbvEA.png
Sandy
1
Itu perintah untuk utilitas xmodmap. Anda harus menjalankannya dengan salah satu metode yang saya berikan di bagian pertama. Saya telah mengedit jawaban saya untuk membuatnya lebih jelas.
pconley
Bisakah Anda juga memberi tahu saya cara menjalankan perintah itu saat startup?
Sandy
Saat Anda masuk, atau saat sistem melakukan boot? Jika yang pertama, cukup masukkan perintah di file '.xmodmap' di direktori home Anda; yang terakhir akan lebih sesuai untuk pertanyaan terpisah di sepanjang baris 'bagaimana saya menjalankan skrip pada startup' (pertanyaan seperti itu mungkin telah ditanyakan sebelumnya).
pconley
Bagi saya tidak bekerja tanpa keysum . keysym Super_L = Control_L
Aliaksandr Sushkevich
19

Garis komando:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Atau dimasukkan ~/.Xmodmapuntuk mengaktifkan saat startup:

remove mod4 = Super_L
add control = Super_L
Coc
sumber
4

Di Ubuntu, Anda dapat mengedit /etc/default/keyboarddan mengatur:

XKBOPTIONS = "altwin: ctrl_win"

Yang:

Ctrl dipetakan untuk Menang kunci (dan tombol Ctrl biasa)

Baca man 5 keyboarduntuk informasi lebih lanjut. Anda dapat menemukan semua kombinasi opsi yang memungkinkan pada sistem Anda dengan melakukan:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win
Mitar
sumber
2

Jika Anda ingin melakukan dengan GUI:

  1. Instal / buka Gnome Tweaks
  2. Klik Keyboard & Mouse
  3. Klik Additional Layout Options
  4. Memperluas Ctrl position
  5. Memilih Swap Left Win with Left Ctrl
Kaya
sumber
1

Coba dengan ini:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Masukkan baris di atas dalam ~/.Xmodmapdan jalankan xmodmap ~/.Xmodmap.

rendon
sumber