Semua aplikasi yang Anda sebutkan adalah gtk+
aplikasi sehingga cukup mudah untuk menjawab Mengapa ... Karena di semua gtk+
aplikasi ( kecuali satu ), Shift+ Insertpasta dari CLIPBOARD - yaitu setara dengan Ctrl+ V. Pintasan di-hardcode pada gtkentry.c
(baris 2022) dan gtktextview.c
(baris 1506):
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
"paste-clipboard", 0);
Ini juga didokumentasikan dalam Manual Referensi GTK + 3 di bawah GtkEntry
:
The “paste-clipboard” signal
void
user_function (GtkEntry *entry,
gpointer user_data)
The ::paste-clipboard signal is a keybinding signal which gets emitted
to paste the contents of the clipboard into the text view.
The default bindings for this signal are Ctrl-v and Shift-Insert.
Sejauh yang saya tahu ini dilakukan untuk konsistensi dengan lainnya DE (lihat KDE
's Qt
binding kunci dalam QTextEdit Class
) dan Windows OS 1 .
Satu- satunya pengecualian adalah gnome-terminal
. Setelah perdebatan panjang, para dev telah memutuskan (untuk konsistensi dengan terminal lain) bahwa, dalam gnome-terminal
, Shift+ Insertharus menempel dari PRIMARY dan Ctrl+ Shift+ Vharus menempel dari CLIPBOARD (walaupun Anda memiliki opsi untuk menyesuaikan beberapa pintasan).
Seperti Bagaimana Anda sisipkan seleksi dengan cara pintas keyboard ... tidak ada cara mudah.
Cara termudah adalah dengan menetapkan pintasan ke skrip yang berjalan xdotool click 2
(mensimulasikan mengklik tombol tengah-mouse). Meskipun ini berfungsi (dan seharusnya bekerja dengan semua atau sebagian besar DE dan toolkit), ini hanya berfungsi jika kursor mouse benar-benar di atas kotak entri teks, jika tidak maka gagal.
Cara lain yang relatif mudah adalah melalui Aksesibilitas Gnome, jika tersedia di sistem Anda. Itu juga membutuhkan kehadiran numpad. Buka Universal Access
>> Pointing & Clicking
dan aktifkan Mouse Keys
. Pastikan NumLock
tidak aktif. Anda kemudian dapat menggunakan tombol numpad untuk memindahkan kursor dan klik. Untuk mensimulasikan klik tombol tengah mouse, tekan (dan lepaskan) *(tanda bintang) lalu tekan 5(inilah panduan singkat ). Solusi ini sepertinya selalu bekerja di gtk+
lingkungan. The downside adalah bahwa ia membutuhkan Gnome Accessibility
dan numpad. Selain itu, Anda tidak dapat menyesuaikan pintasan.
Solusi menarik diajukan pada gnome-bugzilla (bug 643391) . (Pembaruan 2018: masalah kini telah dipindahkan di sini .) Diperlukan menambal beberapa file sumber dan mengatur opsi konfigurasi di ~/.config/gtk-3.0/gtk.css
(atau ~/.gtkrc-2.0
untuk gtk+
2 aplikasi). Saya belum mencobanya secara pribadi tetapi umpan baliknya positif.
Idealnya, Anda akan menambal file sumber dan menentukan "paste-selection"
sinyal kemudian mengikat Shift+ Insertuntuk "paste-selection"
bukan "paste-clipboard"
. Kode Andy (terlampir dalam laporan bug yang ditautkan di atas) dapat berfungsi sebagai panduan tentang cara melakukannya. Bahkan kemudian, itu hanya akan mempengaruhi gtk+
aplikasi (saya bukan seorang KDE/Qt
pria jadi saya tidak tahu bagaimana mengubah Qt
perilaku aplikasi).
1: (belum lagi CUA IBM)
Saya minta maaf: Saya tidak dapat menulis komentar karena reputasi, jadi saya menulis sebagai jawaban. Ini bukan solusi langsung, tetapi ini membantu saya ...
Anda dapat menggunakan kombinasi informasi:
Mengedit gtk tema dan memungkinkan kunci yang mengikat seperti yang Anda inginkan .
Contoh membuat gtk 3.0 keybinding di css tema .
Contoh meng-override gtk keybindings dan unbind .
Contoh memodifikasi keybinding untuk gnome-terminal
Mulai otomatis dari autocutsel dengan opsi default untuk sinkronisasi CLIPBOARD ke CUTBUFFER (ini opsional). Tautan ini hanya untuk informasi tentang masalah.
Gunakan clipman untuk mengakses beberapa buffer (PRIMARY dan CLIPBOARD), tanpa pilihan penyelarasan otomatis (penyelarasan otomatis dua arah membuat kesalahan).
Jadi saya hanya memilih gtk theme, dan memodifikasi CSS tema untuk keybindings yang diperlukan untuk copy-clipboard (Ctrl + Insert) dan paste-clipboard (Shift + Insert) sinyal.
sumber