Bagaimana cara memetakan ulang pintasan keyboard Ubuntu agar sesuai dengan OSX?

28

Saya menggunakan Ubuntu di VirtualBox di Mac. Saat saya sering berganti, saya ingin menggunakan cara pintas yang sama. Tolong, apakah ada yang tahu cara menggunakan pintasan yang sama di Ubuntu, seperti di Mac? Secara khusus, saya ingin Menyalin, Tempel, Pilih Semua, ... bekerja dengan Cmd + C, Cmd + V, Cmd + A, ... (bahkan di terminal - tanpa Ctrl + Shift, cukup Ctrl).

Saya mencoba mengubah Layout Keyboard ke Apple Laptop, tetapi itu tidak membantu.

pengguna209499
sumber
Apakah kunci Cmd alternatif untuk Ctrl atau Alt?
Seth
Jika saya ingat dengan benar, Cmd sama dengan ctrl.
Kaz Wolfe
2
cmd sama dengan tombol fungsi windows (sedangkan kunci cmd berada di sebelah bilah spasi). Sering kali antara ctrl dan alt.
velop

Jawaban:

8

tidak bisakah Anda menambahkan pintasan khusus ?? Jika itu tidak mungkin atau tidak berhasil, Anda mungkin ingin mengubah ikatan kunci vmbox Anda. Anda harus melakukan hal berikut:

Instal xbindkeys

sudo apt-get install xbindkeys

Xbindkeys adalah program yang sangat serbaguna yang memungkinkan Anda memetakan kembali kunci dengan mudah. Ini menggunakan file konfigurasi, default saya terletak di direktori home Anda, untuk mengubah binding kunci menjadi perintah tertentu.

Untuk membuat file konfigurasi default, Anda menggunakan perintah:

xbindkeys --defaults

Yang mencetak file konfigurasi default. Jadi jika Anda ingin membuat file yang berisi nilai-nilai default yang akan Anda gunakan:

xbindkeys --defaults > $HOME/.xbindkeysrc

Yang mencetak nilai default ke file tersembunyi bernama .xbindkeysrc yang terletak di rumah.

Sekarang untuk benar-benar mengubah ikatan kunci pertama-tama kita perlu tahu apa nama atau kunci tombol dari kunci tersebut. xbindkeys memungkinkan kita untuk menggunakan -k handle untuk menemukan nama kunci atau kombinasi tombol. Menjalankan:

xbindkeys -k

Sekarang tekan ctrl (dari cmd) dan periksa output

Coba tekan ctrl + c (setelah menonaktifkan pintasan di terminal menggunakan bagian kedua dari eksplorasi ini)

Ini akan memberi tahu Anda nama kunci / kombinasi tombol.

Sekarang kita perlu memberitahu linux untuk memanggil cmd ketika ctrl ditekan.

untuk ini kita perlu software tambahan karena xbindkeys tidak mendukungnya sendiri. Saya tahu dua program yang bisa kita gunakan, xdotool dan xte. Saya lebih suka xte jadi saya akan menggunakannya.

Pasang itu:

sudo apt-get install xautomation

(Untuk memanggil satu tombol tekan: xte 'key keyName'

Untuk memanggil kombinasi tombol: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

Untuk info lebih lanjut Anda dapat membaca manual man xte )

Mari kita buka file konfigurasi yang Anda buat sebelumnya: (file yang Anda buat menggunakan xbindkeys --defaults > $HOME/.xbindkeysrc)

gedit .xbindkeysrc

Anda akan mendapatkan sesuatu seperti ini:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

Sebelumnya Anda mengekstrak kombinasi tombol / kunci. sekarang Anda tahu perintah untuk mensimulasikan penekanan tombol, Anda dapat memanggilnya dari skrip xbindkeys Anda, seperti ini:

"xte 'ctrl'" Cmd (atau sesuatu seperti ini tergantung pada nama yang diberikan kepada Anda oleh xbindkeys)

Tambahkan ini ke skrip Anda xbindkeys dan simpan.

Anda akan melihat bahwa itu belum berfungsi (belum). Itu karena xbindkeys belum berjalan. mulai dengan perintah berikut.

xbindkeys

Perintah Anda harus berfungsi sekarang. Jika tidak berhasil, Anda mungkin ingin mencoba menambahkan perintah ke kombinasi tombol Anda seperti salin dan tempel. Jika itu tidak berhasil baik ada alternatif tetapi itu cukup banyak tulisan. Anda juga dapat mencoba xmodmap atau xkeycaps.

Saya ingin mencatat bahwa xbindkeys dan xte tidak selalu bekerja dengan baik bersama.

Adapun cara pintas terminal Anda: Anda dapat mengubahnya SEMUA dengan membuka terminal Anda dan mengklik edit di bar bagian atas. Kemudian klik pintasan keyboard dan ubah nilai salin dan tempel di bawah tajuk "edit" menjadi ctrl (atau dalam kasus Anda cmd) + c dan ctrl + v

Akisame
sumber
2
ini adalah solusi untuk memperbaiki masalah Anda DI DALAM vmbox. Anda mungkin dapat bertukar kode kunci tertentu dengan mengatur tabel pertukaran kode kunci di vmbox Anda, tetapi saya tidak punya pengalaman dengan vmboxes
Akisame
Ini sedekat yang pernah saya dapatkan dengan mac binding di linux. Namun sepertinya xte 'key Home'tidak berfungsi ketika diikat ke tombol apa pun di file .xbindkeysrc. Saya sudah mencoba variasi seperti "Shift + i". Saya juga melihatnya bekerja dengan melakukan `sleep 15 && xte 'key Home'" (beralih ke gedit dan melihat pekerjaan rumahan). Umpan balik terbanyak yang saya dapatkan ketika saya melakukan pengaturan dengan "Alt + Left" untuk home adalah flash kursor. Setiap bantuan tentang ini? gist.github.com/Kikketer/658d89661a044121279afbba04a511fa
Chris
8

Tidak perlu digunakan xbindkeysuntuk mencapai pemetaan keyboard mirip OSX di Ubuntu. Ini adalah opsi bawaan:

  1. Buka Pengaturan Ubuntu Anda
  2. Navigasikan ke KeyboardPengaturan Tata Letak Keyboard
  3. tambah bahasa Inggris (Macintosh)
boulder_ruby
sumber
7
Saya tidak melihat Keyboard Layout Settingsdi Ubuntu 14.0.4
chovy
Ini tidak berfungsi di VirtualBox. Yang saya dapatkan hanyalah jendela yang menyusut ketika saya mencoba menyalin / menempel.
chovy
haha, setelah sekian lama mencoba semua solusi lain di luar sana, yang ini sangat mudah dan langsung bekerja. (Ubuntu 14.04.3 LTS 64bit di VirtualBox 5.0.4). Terima kasih
Allisone
Ini tidak berfungsi untuk saya, di virtualbox.
Peter Brooks
3
Jawaban ini jelas tidak lagi berfungsi untuk versi Ubuntu yang lebih baru. Apa pun versi terbaru Ubuntu pada tahun 2014, itu berhasil untuk itu.
boulder_ruby
3

Ini adalah jawaban yang diperbarui untuk siapa pun yang mengalami masalah dengan versi Ubuntu yang lebih baru.

Saya baru saja menginstal Ubuntu 16.04.1 melalui VirtualBox dan tidak bisa mendapatkan pengaturan keyboard yang cocok dengan MacBook saya.

Inilah yang saya lakukan untuk memperbaikinya:

  1. Arahkan ke Pengaturan Sistem .
  2. Pilih Entri Teks (mis. Bukan Keyboard ).
  3. Di bawah daftar dengan tajuk Sumber input untuk digunakan: ada tanda tambah dan minus - klik pada tanda plus.
  4. Dalam kotak teks di bawah Pilih jenis sumber input dalam tata letak keyboard yang Anda butuhkan (dalam kasus saya saya memilih bahasa Inggris (Inggris, macintosh).
  5. Gunakan panah atas untuk menjadikannya tata letak keyboard default Anda di Ubuntu.
  6. Hapus tata letak keyboard lainnya. Tidak sampai saya menghapus tata letak lain bahwa perubahan mulai berlaku.
David Brower
sumber
1
Apa efeknya? Misalnya, tombol kontrol pada Macintosh berada di tempat yang sama dengan pada keyboard normal. Karena ctrl-c / v masih tetap menjadi perintah salin dan tempel standar sistem, ini tidak akan menjawab pertanyaan awal tentang memetakan kembali jenis pintasan lebar sistem sehingga meniru Mac.
Coljac
2

Saya menggunakan Ubuntu 16.04, VirtualBox 5.1.22 dan tidak ada jawaban yang bekerja untuk saya - termasuk David Brower .

Inilah yang dilakukan agar kunci Perintah OSX kiri saya berfungsi (terus-menerus!):

  1. Pertama, Anda perlu memastikan VirtualBox tidak menggunakan Kiri ⌘ sebagai kunci Host
    • Di bilah menu atas jendela VM Anda pilih Input > Keyboard > Keyboard Settings..
    • Dalam daftar pengaturan, cari Kombinasi Kunci Host , dan ubah pintasan ke sesuatu selain Kiri ⌘ (Saya baru saja menggunakan Kanan ⌘ karena saya tidak pernah menggunakannya).
  2. Sekarang Anda pasti dapat menggunakan Left ⌘ di dalam lingkungan VM, remap kunci dengan XKB:
    • Buka dan sunting: /usr/share/X11/xkb/symbols/pc
    • Saya hanya bertukar <LCTL>dan <LWIN>sekitar, sehingga terlihat seperti ini:
    • key <LCTL> { [ Super_L ] };
    • key <LWIN> { [ Control_L ] };
  3. Sekarang bersihkan pemetaan lama dari cache xkb:
    • rm -rf /var/lib/xkb/*
  4. Mulai ulang ubuntu agar perubahan diterapkan.

Kata peringatan: Saya akan menghindari membuat lebih dari satu perubahan pada satu waktu melalui xkb kecuali jika Anda benar-benar tahu apa yang Anda lakukan, beberapa kunci yang dipetakan secara tidak benar pada saat yang sama dapat menjadi sakit kepala!

Kredit penuh untuk Radu Cotescu untuk instruksi remapping xkb - itu untuk ubuntu 14.04, namun mereka berfungsi dengan baik untuk ubuntu 16.04.

danwild
sumber
Pastikan Anda mengambil snapshot sebelum melakukan ini! Untungnya saya punya tujuan lain, dan setelah melakukan ini, Ubuntu tidak bisa boot dengan benar. Saya kembali dan mulai bekerja lagi. Saya menggunakan 18,04 untuk apa nilainya.
tom
2

Mencari di pertanyaan lain, saya menemukan alat ini untuk memetakan Ctrl ke papan kunci Macbook CMD Kiri untuk melakukan CMD + C atau CMD + V atau yang lainnya:

Instal aplikasi gnome-tweaks:

sudo apt-get install gnome-tweaks

Buka aplikasi Applications -> Gnome Tweaksdan petakan CTRL ke WIN (Sama seperti CMD di Mac) yang melakukan ini:

  1. Keyboard dan Mouse
  2. Opsi Tata Letak Tambahan (Super Kiri)
  3. Alt / Win key Perilaku
  4. Ctrl dipetakan untuk Menang dan tombol Ctrl biasa`

Nikmati CMD + C or CMD + Vdi OSX VirtualBox Anda menggunakan ubuntu-18 VM.

Hemã Vidal
sumber
Bekerja. <pengisi>
skwny
Ini membuat saya kehilangan kemampuan untuk menggunakan kunci Win / Apple. Sebaliknya, saya sebagai berikut untuk Langkah 3 dan 4: (3) Ctrl position, (4) Swap Left Win with Left Ctrl.
Turgs
0

Saya masih menjalankan Ubuntu 12.04 karena berbagai alasan, jadi saya tidak dapat berbicara untuk iterasi selanjutnya, tetapi coba ini:

Oke, pertama, Anda mungkin ingin mengatur kunci host VB Anda untuk sesuatu yang spesifik seperti perintah kanan atau tombol alt kanan ... sesuatu yang tidak Anda gunakan secara normal. Saya pikir defaultnya adalah tombol perintah kiri, yang akan mengganggu operasi kebanyakan orang.

Ini dapat dilakukan dalam preferensi untuk VirtualBox itu sendiri (daripada di dalam mesin tamu atau sebagai pengaturan spesifik mesin). Dengan aplikasi VB terbuka (bukan jendela VM), pilih VirtualBox-> Preferences-> Input, lalu pilih kunci host di bagian atas daftar bidang / pemetaan "Mesin Virtual".

Oke, setelah itu, di dalam mesin guest Ubuntu sendiri:

  1. Buka pengaturan sistem Anda, dan pilih Layout Keyboard.
  2. Buka tab Layouts.
  3. Anda mungkin hanya memiliki satu entri - Bahasa Inggris (AS) atau semacamnya. Sorot ini dan klik tombol "Opsi" di kanan bawah.
  4. Buka expander "Alt / Win Key Behavior".
  5. Pilih "Kontrol dipetakan ke tombol Win (dan tombol Ctrl biasa)".

Anda harus menemukan bahwa kunci perintah Mac Anda sekarang berfungsi seperti yang diinginkan untuk perintah-C, perintah-V dll.

Kaitain
sumber
0

Dalam kasus Kubuntu 18.04 dengan Plasma 5, apa yang berhasil bagi saya adalah (Dalam Pengaturan Sistem / Perangkat Input / Keyboard) mengatur perangkat keras sebagai 'generik kunci-104' dan tata letak sebagai 'bahasa inggris (macintosh)'

lurscher
sumber
-1

Itu akan tergantung pada perangkat lunak yang Anda gunakan untuk menjalankan mesin virtual Anda. Sebagai contoh, saya menggunakan VMWare Fusion untuk menjalankan Ubuntu di Mac saya dan untuk mencapai apa yang Anda inginkan, saya pergi ke "Pengaturan" dari VMWare Fusion dan mengatur pemetaan kunci yang saya inginkan di dalam mesin virtual tertentu (saya dapat memiliki beberapa pengaturan, satu untuk setiap VM).

Saya tidak pernah menggunakan VirtualBox, tapi saya cukup yakin Anda bisa melakukannya di Pengaturan VirtualBox.

David Lopes
sumber