Bagaimana cara membuat pintasan keyboard seperti macOS di Ubuntu?


12

Saya telah melihat banyak pertanyaan tentang ini, tetapi mereka semua tampaknya melakukan remap kunci, bukan perilaku macOS yang sebenarnya.

Kasus penggunaan utama saya adalah untuk "membagi" pintasan: misalnya saya ingin memiliki Super+ Cuntuk menyalin teks, dan Ctrl+ Cuntuk mengirim SIGINT ke program saat ini.

Dalam hal ini, remap atau swap sederhana Superdan Ctrltidak akan berfungsi.

Saya menemukan perilaku mac menjadi sangat praktis, karena semua pintasan yang paling umum digunakan Super, dan pintasan salin yang terkenal tidak tumpang tindih dengan pintasan SIGINT yang terkenal .

Sebagian besar aplikasi terminal bereaksi terhadap Ctrl- * pintasan, dan sebagian besar tumpang tindih dengan pintasan "standar". Di Terminal GNOME, kita harus menekan Ctrl+ Shift+ Cuntuk menyalin teks, sedangkan di aplikasi lain seperti Firefox, Ctrl+ Cdigunakan. Ini cukup rumit dan tidak konsisten dibandingkan dengan Super+ C.


Ingin mengarahkan ke jawaban lain pada askubuntu: askubuntu.com/questions/521202/…
Gautam

Jawaban:


0

Anda dapat menggunakan perintah xmodmap:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

Simpan baris di atas sebagai super_as_ctrl.xmodmap. Uji dengan mengeksekusi

xmodmap super_as_ctrl.xmodmap

Untuk membuat perubahan permanen (selamat login ulang / reboot) cukup ganti nama filenya .Xmodmapdi folder home Anda.

(Diuji pada Ubuntu 14.x)

PS: Anda juga bisa menggunakan tombol windows lainnya. Tidak yakin bagaimana melakukannya.


Itu membuat Ctrl-C dan Super-C keduanya mengirim ^Cke shell. Saya berharap salah satu dari ini berperilaku seperti salinan. Diuji pada OS dasar
Benoit Duffez

0

Untuk membuat pintasan baru dan menghapus yang lama, Cukup buka pengaturan sistem >> keyboard >> pintasan . Di sana Anda dapat melihat semua pintasan, mengeditnya, menghapusnya dan membuat yang baru.


0

Berikut ini tinggal di saya $HOME/.uxSwapCapsLock-and-Ctrl. Ini secara efektif menukar fungsi tombol CapsLock dan Ctrl untuk setiap shell yang digunakan pada sistem Linux setiap kali saya masuk, dan memulai sesi interaktif dalam shell, pada sistem yang diberikan. Saya yakin Anda dapat mempelajari tentang nama kunci terkait yang ingin Anda modifikasi, dan dirujuk oleh xmodmap, untuk mendapatkan fungsionalitas yang Anda inginkan. Kode ini diinisiasi setiap kali saya masuk dan memiliki sesi interaktif melalui .profile, tetapi ia hidup dalam file .ps1 untuk tujuan ini.

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

Ini adalah pemeriksaan profil. Untuk melakukan pertukaran:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
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.