Bagaimana saya bisa menambahkan urutan kunci penulisan kustom?

40

Bagaimana saya bisa menambahkan urutan kunci penulisan kustom?

Sebagai contoh, saya ingin Compose, |, >untuk mengetik simbol.

Saya telah mencoba menambahkan yang berikut ini ke ~/.XCompose:

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <bar> <greater> : "▸" U25B8 # Black right-pointing small triangle

tetapi urutan baru tidak dapat digunakan di mana pun kecuali untuk xterm.

Menginstal ibus-table-compose dan kemudian mengaktifkan metode input Compose di IBus tidak menyelesaikan masalah; IBus meniru banyak urutan kunci penulisan, tetapi bukan yang saya buat.

ændrük
sumber
Bagaimana Anda mengetik simbol sekarang? Anda mungkin bisa memetakan perintah yang Anda gunakan untuk mengetik simbol ke tombol tertentu dalam tata letak keyboard. Untuk menemukan kunci persis tombol tertentu, Anda dapat menggunakan xev. Tapi tentu saja, ini hanya dugaanku.
Nitin Venkatesh
3
@nitstorm saya mengetik dengan menekan AltGr +>, yang merupakan pemetaan disesuaikan yang saya set dengan menambahkan Keysym yang U25B8ke keycode 60di ~/.xmodmaprc. Saya tidak bertanya bagaimana cara mengetik ▸; Saya bertanya bagaimana cara membuat urutan kunci penulisan untuk itu.
ændrük

Jawaban:

7

Buat file ~/.XCompose(itu adalah file bernama .XComposedi folder "home" Anda) yang berisi yang berikut:

include "%L"   # import the default Compose file for your locale
<Multi_key> <bar> <greater>     : "▸"

Lihat man 5 Composeuntuk info lebih lanjut tentang format file ini.

JanC
sumber
2
Rapi! Apakah ada cara agar file ini dibaca ulang tanpa memulai ulang X?
Jeremy Kerr
1
Ini kedengarannya menjanjikan, tetapi ~/.XComposefile saya tampaknya tidak memiliki efek apa pun setelah reboot. Sudahkah Anda berhasil?
ændrük
@ Jeremy: Saya tidak yakin, tapi mungkin mengubah tata letak keyboard ke tata letak lain lalu kembali berfungsi.
JanC
1
@ ændrük: Saya sepertinya ingat bahwa Gtk / GNOME dengan bodoh mengacaukan pengaturan kunci penulisan (Anda dapat menguji apakah kombinasi tombol Tulis yang baru berfungsi dalam misalnya xterm untuk mengonfirmasi hal ini). Sepertinya saya ingat solusinya ada hubungannya dengan memilih metode input alternatif yang melewati medling bermasalah; mungkin mengajukan pertanyaan baru tentang itu, karena itu tidak hanya berguna untuk ini tetapi IIRC itu juga memperbaiki peta Tulis khusus untuk lokal, dll;)
JanC
1
Pada setidaknya 18,04 LTS jawaban ini sekarang harus bekerja tanpa perlu metode perubahan masukan.
ændrük
22
  1. Buat file dengan nama .XComposedi direktori home Anda ( ~/.XCompose), yang berisi:

    # import the default Compose file for your locale
    include "%L"
    
    <Multi_key> <bar> <greater>  : "▸"
    

    Lihat man 5 Composeuntuk info lebih lanjut tentang format file ini.

  2. Tambahkan yang berikut ke ~/.profile:

    export GTK_IM_MODULE="xim"
    

    Di Ubuntu 18.04 (mungkin orang lain), Anda mungkin perlu menggunakan yang berikut ini sebagai gantinya:

    export GTK_IM_MODULE="gtk-im-context-simple"
    
  3. Logoff dan kembali. Atau restart X. Atau reboot.

dan_waterworth
sumber
3
Saya perhatikan bahwa dengan solusi ini, saya tidak dapat menggunakan Ctrl-Shift-u lagi untuk memasukkan karakter unicode dengan nomor; jadi saya menganggap ini mengubah sesuatu yang umum dari hal-hal Gnome ke hal-hal X yang dikonfigurasi oleh file ~ / .XCompose. Apakah ada cara untuk memodifikasi barang-barang Gnome? Saya ingin mempertahankan fitur Ctrl-Shift-u.
Alfe
2
@Alfe Menggunakan UIM seperti yang disarankan di bagian bawah Forum Ubuntu: File .XCompose tidak membaca dalam 11,04 GNOME bekerja untuk saya dengan pengaturan default di Debian jessie / sid (lihat im-config(8) untuk penyesuaian). Yaitu, pengaturan .XCompose berfungsi baik di aplikasi GTK (GNOME) dan Qt (KDE), dan .XCompose dan Ctrl + Shift + U keduanya bekerja di aplikasi GTK (seperti Eclipse).
PointedEars
Terima kasih! Jadi apakah Anda hanya apt-getdalam uimpaket atau apakah Anda harus mengkonfigurasi sesuatu yang lain?
Alfe
1
Saya mencoba menjalankan ini untuk beberapa waktu sekarang, tetapi tidak berhasil. Akan sangat membantu untuk mendengar apa yang sebenarnya Anda lakukan selain menginstal paket uim. Setidaknya ini bisa membantu memastikan bahwa cara Anda tidak berfungsi di Ubuntu 12.04.
Alfe
@dan_waterford Hai, saya baru saja bertanya pertanyaan ini di sini , dan "mungkin duplikat" untuk pertanyaan ini. Namun, saya sudah mencoba jawaban Anda dan tidak berhasil. Ada ide? :)
Owen_R
9

Di Ubuntu 14.04 saya melakukan hal berikut:

1) Dipasang uimmenggunakan Software Manager, paket lainnya seperti uim-xim, uim-gtk2, uim-gtk3dan uim-qtauto diinstal. Lihat https://launchpad.net/ubuntu/+source/uim .

2) Variabel lingkungan yang ditetapkan dengan menambahkan baris berikutnya ~/.profile, dengan cara ini urutan kunci penulisan kustom hanya berlaku untuk pengguna saat ini:

# Restart the X-server after making alterations using:
# $ sudo restart lightdm
# It seems only GTK_IM_MODULE or QT_IM_MODULE needs to be defined.
export GTK_IM_MODULE="uim"
export QT_IM_MODULE="uim"

File ~/.XCompose-file dari OP harus bekerja setelah restart 1) Ubuntu atau 2) hanya X-server dengan menjalankannung perintah berikut di terminal:

$ sudo restart lightdm

NB: Memulai kembali hanya diperlukan setelah mengubah ~/.profilefile, perubahan ~/.XComposeakan mulai berlaku saat aplikasi berikutnya (Terminal, Gedit, dll.) Dimulai.

Untuk memeriksa apakah variabel lingkungan disetel ke kanan, masukkan perintah berikut di terminal Anda:

$ printenv | grep IM_MODULE

Banyak terima kasih kepada:

Tentang urutan kunci penulisan komposisi:

Tentang pemetaan keyboard khusus:

Contoh .Xcomposefile untuk meniru Window US Internationalkeyboard:

lmeurs
sumber