Saya ingin mendefinisikan compose
kunci pada sistem saya (Debian Sid "Wheezy"). Saya tidak punya Xorg (dan tidak ingin ada lingkungan desktop). Hanya di terminal.
Saya ingin memasangnya di Alt-Gr
kunci saya (kanan Alt
). Saya sudah mencoba beberapa saat tetapi saya tidak tahu cara mengaturnya.
Saya telah menyelidiki dan menemukan beberapa petunjuk:
$ showkey
memberi saya kode kunci dariAlt-Gr
kunci saya (# 100)$ dumpkeys
dan$ dumpkeys --compose-only
output "isi saat ini dari driver keyboard", dalam format yang ditentukan olehkeymaps
, menurutman
halaman$ loadkeys
memuat tabel terjemahan keyboard
Saya yakin itu tidak sulit tetapi saya rindu bagaimana menghadapinya ...
console
keyboard-layout
cedbeu
sumber
sumber
Jawaban:
Pada sistem Debian dan Ubuntu yang lebih baru, pengaturan keyboard Anda dimasukkan
/etc/default/keyboard
dan dibagikan antara X dan konsol. Lari sajadan pilih
Compose key:
Right Alt (AltGr)
pada layar yang sesuai.Anda juga bisa menempatkan
XKBOPTIONS=compose:ralt
di/etc/default/keyboard
dan menjalankanSistem yang lebih lama memiliki kunci penulisan pada konsol secara default. Dalam
us
tata letak, menekan kedua Alt tombol bersamaan berfungsi seperti Compose. 1Sebagai contoh: Alt+ AltGr, ", A=> Ä
Jika Anda lebih suka AltGrhanya untuk menjadi Compose, Anda perlu perubahan
di peta keyboard aktif Anda untuk
Cara termudah untuk melakukan ini adalah dengan membuat perubahan di atas
/lib/kbd/keymaps/i386/include/linux-with-alt-and-altgr.inc
.Cara yang lebih baik adalah membuat file baru yang disebut
/lib/kbd/keymaps/i386/include/altgr-is-compose.inc
dengan baris di atas, membuat keymap baru yang menyertakannya, dan mengaturnya ke keymap default Anda.sumber
dpkg-reconfigure
Wizard memang menanyakan tentang kunci compose, namun mengatakan ia tidak bekerja dalam "modus Unicode" (?). Juga, ketika tidak dalam mode itu, dikatakan periode Control + berfungsi sebagai kunci penulisan. Tapi aku juga tidak bisa membuatnya bekerja.unicode_start
. Bagi saya, itu masih berfungsi, asalkan saya menjalankansetupcon
seperti yangdpkg-reconfigure
dikatakan.setupcon
terminal X saya (urxvt
), dikatakan "Kami tidak di konsol, konsol dibiarkan tidak dikonfigurasi." Juga,showkey
mengeluh "Tidak bisa mendapatkan deskriptor file ke konsol". Dalamtty
, kedua karya itu tetapishowkey
mengatakan (hal pertama) bahwa "mode kb adalah UNICODE", jadi mungkin itulah mengapa tidak bekerja. Tetapi, periode Kontrol + berfungsi ditty
. OKE, masuk akal sekarang.X
? Anda perlu menjalankansetupcon
konsol virtual Linux, mis. Ctrl + Alt + F1.console-setup
tidak mendukung urutan penulisan yang sangat banyak secara default. Anda dapat berlaridumpkeys --compose-only
untuk melihat yang mana. Anda harus dapat memodifikasiconsole-setup
skrip init untuk menambahkan aturan penulisan tambahan tempat skrip dijalankanloadkeys
."compose" pada konsol memungkinkan untuk mengetik dua karakter tetapi menghasilkan yang ketiga.
masalahnya adalah bahwa definisi penulisan menggunakan byte , baik sebagai dua input (yaitu, Anda tidak dapat mendefinisikan menulis dalam hal kunci yang diketik tetapi hanya dalam hal simbol yang diketik) dan untuk output.
untuk membuatnya bekerja di UTF-8, yang multibyte (setidaknya 1 byte, setidaknya) akan membutuhkan perubahan besar dalam cara input konsol ditangani, dan mengganti array char sederhana yang saat ini digunakan oleh sesuatu yang lebih kompleks. Sepertinya tidak ada rencana untuk melakukannya (konsensus di antara kernel devlopers adalah bahwa konsol harus tetap menjadi konsol, sesuatu yang sederhana, hanya digunakan untuk ressort terakhir; jika Anda benar-benar membutuhkan unicode maka Anda kemungkinan juga perlu bidi, membentuk, dll; kemudian lebih baik menjalankan terminal grafis (xterm layar penuh pada X11; tetapi ada kemungkinan lain).
Jadi, memang tidak berfungsi, dan tidak akan berfungsi, dengan karakter multibyte di konsol. TETAPI masih berfungsi jika Anda membatasi definisi penulisan menjadi ASCII biasa.
Dan saya juga menemukan bahwa itu juga berfungsi jika output di iso-8859-1 (yang sesuai dengan nilai unicode hingga 0x00ff); untuk itu Anda dapat memasukkan beberapa skrip mulai baris:
dan letakkan di file itu definisi penulisan yang Anda inginkan (berhati-hatilah untuk menyimpan file dalam penyandian ISO-8859-1; dan gunakan karakter yang lebih besar dari 0x7f sebagai keluaran saja) sintaksis file semacam itu sangat sederhana, baris-baris seperti ini:
misalnya:
apostrof harus diloloskan.
efek kunci diakritik yang mati juga ditentukan dalam file itu; untuk dead_acute + a Anda mendefinisikan garis seperti:
dead_grave menggunakan backtick (`), dead_diaeresis menggunakan doublequote ("), dead_circumflex menggunakan circumflex (^) dan dead_tilde menggunakan tilde (~).
sumber
compose 'a' 'a' to 'å'
menjadicompose 'o' 'a' to U+00E5
, jika tidakloadkeys
mengeluh tentang kesalahan sintaksis.iconv -f utf-8 -t utf-8 filename
jika tidak ada kesalahan, itu ada di utf-8echo $?
setidaknya, dan tidak ada outputstderr
. Juga,file
beri tahu saya itu adalah UTF-8 jadi masuk akal.