Apakah ada tata letak keyboard Internasional AS di Linux yang meniru perilaku Windows?

12

Saya terbiasa menggunakan US International sebagai tata letak keyboard saya. Namun, implementasi tampaknya sangat berbeda antara Windows dan Linux (Gnome, dalam kasus saya - mungkin menjadi masalah GTK karena GTK berperilaku sama pada Windows).

Tata letak menggunakan kunci mati, misalnya untuk kunci seperti ', ", ^, & c. memungkinkan masuknya karakter dengan diakritik dengan mudah. Pada Windows menekan kunci mati dan kemudian kunci yang tidak memiliki pasangan yang terkait menghasilkan karakter kunci mati (ketika dipasangkan dengan spasi) dan karakter dari kunci kedua. Contoh: Menekan ", amenghasilkan "ä", namun, menekan ', smenghasilkan "'s ", karena tidak ada pasangan untuk 'dan s.

Sekarang, ada bahasa yang disebut Bahasa Inggris yang sering menggunakan kedua karakter itu dan karena ia bekerja pada Windows untuk mengetikkannya seperti biasa, itu adalah memori otot bagi saya sekarang. Yang membawa saya ke masalah saya:

Pada Linux (dan GTK pada Windows), ada adalah sebuah pasangan untuk 'dan s(antara banyak orang lain), menghasilkan ś(yang, pada gilirannya, mengarah ke saya sering mengetik “itś”). Jadi mengetik “itu” mengharuskan saya untuk mengetik ',         , sdi akhir.

Ada beberapa kombinasi lain yang biasa saya gunakan agar tidak berfungsi. Diantaranya adalah bahwa untuk pasangan yang tidak ada, tidak ada hasilnya. Mengetik "Aku" akan menghasilkan "Aku". Menekan salah satu tombol itu dua kali menghasilkan diakritik non-spasi yang menghentikan kebiasaan saya mengetik string dengan terlebih dahulu mengetik kedua tanda kutip (yang sekarang menghasilkan aksen atau macron akut non-spasi).

Singkat cerita: Tak satu pun dari muncul Internasional AS layout yang disediakan untuk fungsi yang sama seperti di Windows - apakah ada yang melakukan pekerjaan identik? Atau ada kesempatan untuk mengkonfigurasinya seperti itu? Meskipun mungkin menyenangkan untuk mengetik huruf s dengan aksen akut atau diakritik non-spasi, itu bukan kebutuhan umum bagi saya.

Joey
sumber
1
Bagi siapa pun yang bertanya-tanya mengapa saya menggunakan US International, alih-alih yang lain: Saya dari Jerman dan perlu mengetikkan hal-hal seperti ä, ö, ü, ß sesekali. Tetapi sebagian besar perancang bahasa pemrograman merancang bahasa mereka untuk satu tata letak yang tepat sehingga orang harus menggunakan kombinasi kunci untuk memasukkan karakter seperti kurung kurawal atau garis miring terbalik.
Joey

Jawaban:

6

Salah satu kemungkinan adalah menghindari kunci mati dan mengetik huruf beraksen dengan tombol Tulis. Misalnya, ketik Compose " auntuk masuk ä. Anda harus memilih opsi tata letak keyboard yang menyertakan Composekunci; pilihan umum adalah kunci di sebelah kiri tombol kanan Ctrl(yang saya pikir panggilan Windows Menu). Keuntungannya Composeadalah Anda bisa mengetik banyak karakter mewah tanpa mengubah tata letak utama Anda. Kerugiannya adalah dibutuhkan tiga kali penekanan alih-alih dua untuk aksen surat.

Atau, Anda dapat mengkonfigurasi efek kunci mati dengan membuat file yang disebut .XCompose(perhatikan CApitalization) di direktori home Anda dan daftar kombinasi yang Anda inginkan. Sesuatu seperti:

termasuk "/usr/share/X11/locale/en_US.UTF-8/Compose"

<dead_acute> <spasi>: "" tanda apostrof
<dead_acute> <exclam>: "'!"
<dead_acute> <quotedbl>: "'\" "
# dll ...
<dead_acute> <a>: "á"
<dead_acute> <b>: "'b"
# dll ...

Sintaksnya cukup sederhana: urutan tombol di sebelah kiri :diubah menjadi string antara ""di sebelah kanan :. Kata tambahan di sebelah kanan adalah keysym (yaitu, nama kunci) yang sesuai dengan urutan tombol ini; itu tidak terlalu penting. Apa pun dari a #hingga akhir baris diabaikan.

Ubah baris pertama untuk menunjuk ke file sistem jika distribusi Anda meletakkannya di tempat yang berbeda. Anda dapat melihat dalam file ini untuk lebih banyak contoh sintaks. <Multi_key>adalah nama lain untuk Composekunci tersebut.

Di sebelah kiri, nama-nama di antara <tanda kurung sudut >adalah keysyms. Anda dapat menemukan daftar keyyms di /usr/include/X11/keysymdef.h(file ini dalam paket pengembangan, misalnya, x11proto-core-devdi Ubuntu).

Ya, itu banyak pengetikan, tetapi Anda harus bisa mengotomatiskannya dengan cara menyalin dan menempel keysymdef.hdan melakukan beberapa penggantian massal yang pintar. Sesuatu yang akan membantu adalah Anda dapat menggunakan kembali kode heksadesimal di sebelah kanan untuk membuat string di sebelah kanan berkat sintaks "\ x dd ": turn eg

#define XK_exclam 0x0021 / * U + 0021 MARK EKSKLAMASI * /

ke

<dead_acute> <exclam>: "'\ x21"

Terakhir, Anda dapat mengatur tata letak keyboard dengan tombol mati dan Composetombol. Menjadi Jerman, Anda mungkin mengatur hanya "sebagai kunci mati. Jika Anda menggunakan rute itu, opsi paling sederhana adalah menggunakan GUI untuk mengatur keyboard tanpa kunci mati dan .Xmodmapfile kunci mati, berisi sesuatu seperti

keysym apostrophe = apostrophe dead_quotedbl
Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Ok, saya akan memeriksanya (bukan di mesin lain sekarang). Menggunakan Compose bukan pilihan karena saya harus belajar kembali memori otot dan Linux bukan sistem utama saya. Dan jangan berasumsi bahwa hanya karena saya orang Jerman, saya tidak akan membutuhkan apa pun di luar umlaut ;-). Ada cukup banyak kata yang diimpor dari bahasa lain yang menggunakan aksen kuburan atau akut juga.
Joey
Mungkin akan lebih baik untuk memulainya dengan hanya menimpa kombinasi-kombinasi yang Anda punya masalah, dan tambahkan ke meja ketika Anda menemukan hal-hal baru yang mengganggu Anda, yaitu <dead_acute> <s> : "'s"
RolKau
Anda juga mungkin harus mengatur GTK_IM_MODULE=ximuntuk menggunakan urutan penulisan yang ditentukan ~/.XCompose, dan bukan built-in GTK (!).
RolKau
3

Saya sadar pertanyaan ini telah "diselesaikan" untuk sementara waktu. Namun, saya ingin menyajikan solusi saya, yang menggabungkan temuan dari halaman ini dengan banyak pengujian dan eksperimen.

Win US Intl untuk Linux adalah serangkaian skrip yang saya tulis untuk menyelesaikan masalah memiliki masalah dengan tata letak keyboard US Intl Linux asli, seperti yang ditulis OP. Saya menggunakannya terutama karena bahasa ibu saya adalah Spanyol, dan saya masih menggunakan banyak forum, teks, obrolan, dan sebagainya (seperti situs ini).

Yang perlu diperhatikan: Ini sebenarnya mirip (tidak sepenuhnya sama) dengan perilaku Windows XP AS - tata letak keyboard Internasional.

Anda dapat mengunjungi http://tamh.info/en/win-us-intl-4-linux/ untuk memeriksanya. Saya sedang dalam proses membuatnya lebih baik, dengan menambahkan lebih banyak entri XCompose untuk beberapa kasus batas lainnya, di antara perubahan lainnya.

Tamh
sumber
2
Tautan tidak berfungsi.
tink