Keyboard virtual
Ketik bahasa lain di layar: tata letak nasional, pemetaan posisi, tombol mati, lapisan AltGr, suku kata Korea, dan romaji Jepang — semua di browser.
Indonesia tidak punya tata letak papan ketik nasional sendiri — bahasa Indonesia ditulis dengan alfabet Latin, dan papan ketik yang dijual di sini adalah US QWERTY. Entri ini persis tata letak itu, dicantumkan dengan nama Indonesia, bukan dikarang.
Tombol panah berpindah antartombol di layar dan Enter menekan salah satunya. Tab keluar dari papan ketik; papan ketik Anda sendiri mengetik langsung ke kotak teks.
Tombol fisik dipetakan berdasarkan posisi: setiap tombol mengetik apa yang ditempatkan tata letak terpilih di posisi itu, apa pun tata letak sistem Anda. Penangkapan hanya berlaku selama kotak teks berfokus — Ctrl+C, Tab, dan tombol panah tetap berfungsi.
Satu alat, tiga belas bahasa
Keyboard ini mengetik tiga belas bahasa tempat situs ini ditulis, dan untuk masing-masing menampilkan tata letak yang benar-benar dipakai penutur bahasa itu — dipilih dengan aturan sederhana: tata letak standar negara dengan penutur terbanyak. Ibrani adalah standar SI-1452, Prancis AZERTY, Jerman QWERTZ, Rusia ЙЦУКЕН, Spanyol tata letak Amerika Latin, Portugis ABNT2 Brasil, Turki Turkish Q, Jepang tata letak kana JIS, dan Korea Dubeolsik. Pemilihnya mencantumkan setiap tata letak dengan namanya sendiri dalam bahasanya sendiri, karena pembaca yang mencari bahasanya mengenali endonimnya dalam bahasa antarmuka apa pun.
Satu entri sengaja tidak menarik: bahasa Indonesia. Indonesia tidak punya tata letak keyboard nasional — negeri ini mengetik di US QWERTY, tata letak yang sama dengan bahasa Inggris — dan jawaban yang jujur adalah mengatakannya, alih-alih mengarang tata letak yang tidak pernah dilihat orang Indonesia mana pun. Alat ini terbuka dengan tata letak bahasa halaman yang sedang Anda baca, dan Anda bisa beralih ke tata letak lain kapan saja; teks yang sudah diketik tetap di tempatnya saat Anda beralih.
Pemetaan posisi: tata letak Anda sendiri tidak penting
Ketik di keyboard fisik Anda dan alat ini membaca setiap tombol berdasarkan posisinya di papan, tidak pernah berdasarkan karakter yang menurut sistem operasi dihasilkannya. Tombol dua baris di atas bilah spasi, tepat di kanan J — posisi K — mengetik k di US QWERTY dan ל di tata letak Ibrani, apa pun tata letak yang terpasang di mesin Anda. Pembalikan itulah seluruh intinya: kalau alat ini mendengarkan sistem operasi, ia hanya akan menggemakan kembali tata letak Anda sendiri, dan tidak akan pernah bisa mengetik bahasa yang tata letaknya tidak Anda pasang.
Klik pada tombol di layar dan tekanan di papan fisik melewati mesin yang persis sama, sehingga keduanya tidak mungkin berselisih tentang apa yang dilakukan sebuah tombol. Selagi Anda mengetik secara fisik, tombol yang ditekan menyala di keyboard layar — begitulah cara belajar di mana karakter sebuah tata letak asing tinggal, seperti dulu stiker keyboard cetak mengajarkannya.
Penangkapan sengaja dibuat sempit. Tombol fisik hanya dibaca selama kotak teks berfokus, sehingga bagian halaman lainnya terus bekerja normal. Pintasan seperti Ctrl+C, Ctrl+V, Ctrl+A, dan Ctrl+Z lewat langsung ke browser, begitu pula tombol panah, Home, End, dan Delete — dan Tab tidak pernah ditelan, karena alat yang memakan Tab memerangkap siapa pun yang menjelajah halaman dengan keyboard.
Satu hal yang bisa kurang pada papan ketik fisik adalah tombolnya sendiri. Tata letak Eropa di sini adalah papan ISO: ada tombol ke-102 di antara Shift kiri dan huruf pertama baris bawah, dan ABNT2 Brasil menambahkan tombol ke-49 di samping Shift kanan. Papan ANSI bergaya Amerika tidak punya keduanya, jadi tak ada tekanan tombol Anda yang sampai ke sana — tetapi keduanya digambar pada keyboard di layar seperti tombol lain, dan mengekliknya mengetik persis apa yang ditempatkan tata letak di situ. Tidak ada bagian tata letak yang tak terjangkau; pada papan yang keliru, sebagian kecilnya hanya bisa diraih dengan tetikus.
Lapisan: Shift, Caps Lock, AltGr, dan tombol mati
Keyboard sungguhan mengetik lebih banyak karakter daripada jumlah tombolnya, dan itu dilakukan dengan lapisan. Menahan Shift sambil menekan mengetik lapisan Shift; mengklik Shift di layar, sebaliknya, menguncinya untuk tepat satu karakter, sebagaimana keyboard layar berperilaku di mana-mana. Caps Lock lebih sempit daripada yang disangka orang: ia hanya mengapitalkan tombol yang lapisan Shift-nya memang huruf besar dari huruf dasarnya, jadi ia mengubah a menjadi A tetapi tidak pernah mengubah 1 menjadi !. Pada aksara tanpa kapital sama sekali — Ibrani salah satunya — Caps Lock tidak melakukan apa-apa, persis seperti keyboard Ibrani sungguhan.
Tata letak Eropa membawa lapisan ketiga yang dicapai dengan AltGr, tempat karakter seperti @, €, dan pasangan kurung tinggal, serta tombol mati dengan perilaku standar: tekan aksen lalu hurufnya, dan keduanya menyatu — tombol mati lalu spasi menghasilkan tandanya sendiri, dan huruf yang tidak bisa disatukan aksen datang begitu saja setelahnya. Tombol mati yang tertunda ditampilkan menunggu di keyboard layar, sehingga keheningan di antara dua tekanan terlihat, bukan membingungkan.
Dua detail Ibrani tampak seperti bug padahal itulah standarnya. Tata letaknya mencerminkan pembatas berpasangannya — Shift+9 mengetik ) di tempat US QWERTY mengetik ( — karena standar memetakan karakter logisnya, dan algoritme teks dwiarah mencerminkannya kembali saat teks digambar; tombol yang tampak seperti kurung buka menghasilkan kurung buka di layar. Dan kotak teksnya sendiri berbalik kanan-ke-kiri saat Anda memilih Ibrani atau Arab, karena arah milik teks yang diketik, bukan milik bahasa halaman di sekitarnya.
Jepang dan Korea adalah metode input, bukan sekadar tata letak
Bagi kebanyakan bahasa, keyboard adalah tabel: satu posisi tombol, satu karakter. Korea dan Jepang butuh lebih dari tabel. Dubeolsik Korea mengetik jamo — konsonan dan vokal satuan — dan sebuah metode input menyusunnya menjadi blok suku kata sambil Anda mengetik: ㅎ lalu ㅏ lalu ㄴ menjadi 한, vokal gabungan dan konsonan akhir ganda terakit dengan cara yang sama, dan konsonan akhir dibawa ke suku kata berikutnya ketika yang menyusul menjadikan itu bacaan yang benar. Backspace membongkar susunan jamo demi jamo alih-alih menghapus seluruh suku kata, karena begitulah semua metode input Korea berperilaku, dan cara lain mana pun membuat perbaikan salah ketik menjengkelkan.
Bahasa Jepang hadir dalam dua mode. Bawaannya adalah input romaji di keyboard fisik — ketik ka dan か muncul, dengan penanganan standar untuk っ kecil dan ん — karena begitulah sebagian besar pengetikan Jepang sungguhan terjadi. Keyboard layar menampilkan tata letak kana JIS, di mana setiap tombol adalah satu suku kata, dan mode JIS posisional tersedia bagi yang memang mengetik begitu. Sebuah sakelar mengganti keluaran antara hiragana dan katakana.
Yang sengaja tidak dilakukan alat ini adalah mengubah kana menjadi kanji. Konversi sungguhan butuh kamus ratusan ribu kata dan model pemeringkat di atasnya — sebuah IME, bukan keyboard — dan mengirimkan yang buruk lebih parah daripada tidak sama sekali: Anda akan mendapat teks yang masuk akal tapi salah tanpa cara melihatnya. Keluaran kana-saja dinyatakan di sini dengan gamblang, agar batasnya dipahami, bukan ditemukan.
Berjalan di browser Anda
Tata letak adalah data yang datang bersama halaman dan setiap ketukan diproses secara lokal. Tidak ada yang Anda ketik diunggah, disimpan, atau dicatat — dan ini lebih penting bagi alat pengetikan daripada bagi kebanyakan alat, karena yang orang ketikkan di keyboard sering kali justru teks yang mereka pedulikan. Penangkapan dibatasi ke kotak teks, jadi alat ini tidak pernah melihat tombol yang ditekan di tempat lain, dan menutup tab tidak meninggalkan apa pun.
Pertanyaan yang sering diajukan
- Mengapa menekan tombol K mengetik ל?
- Karena tombol dipetakan berdasarkan posisi fisik, bukan karakter yang dilaporkan sistem operasi Anda. Pada tata letak Ibrani, posisi K memuat ל, jadi itulah yang diketiknya — di papan Anda maupun di keyboard layar. Itulah yang memungkinkan Anda mengetik bahasa yang tata letaknya tidak terpasang di mesin Anda.
- Apakah bahasanya harus terpasang di komputer saya?
- Tidak. Alat ini tidak pernah bertanya kepada sistem operasi apa arti sebuah tombol — ia menyelesaikan sendiri setiap tombol terhadap tata letak yang dipilih. Mesin Anda boleh punya tata letak apa pun, atau tidak satu pun yang relevan, dan teks yang diketik keluar sama.
- Mengapa Ctrl+C saya tetap bekerja saat mengetik?
- Memang dirancang begitu. Pintasan pengubah, tombol panah, Home, End, Delete, dan Tab diteruskan apa adanya ke browser alih-alih ditangkap, sehingga kebiasaan penyuntingan biasa — salin, tempel, urungkan, pilih semua — tetap bekerja di dalam kotak teks, dan navigasi keyboard tetap bekerja di luarnya.
- Bisakah ia mengubah kana Jepang menjadi kanji?
- Tidak, dan itu disengaja. Konversi kanji butuh IME — kamus ratusan ribu kata plus model pemeringkat — dan yang buruk menghasilkan teks masuk akal tapi salah, yang lebih buruk daripada tidak ada. Alat ini mengetik hiragana dan katakana, dengan input romaji di keyboard fisik, dan mengatakannya alih-alih membiarkan Anda menemukan batas itu sendiri.
- Mengapa Shift+9 mengetik kurung tutup dalam bahasa Ibrani?
- Ia mengetik karakter logis yang ditaruh standar SI-1452 di sana, dan algoritme teks dwiarah mencerminkannya saat teks kanan-ke-kiri digambar — jadi di layar Anda melihat persis kurung yang tercetak di tombolnya. «Memperbaikinya» justru akan merusak setiap kurung yang diketik dalam bahasa Ibrani.
- Keyboard saya tidak punya tombol di samping Shift kiri. Bisakah saya tetap mengetiknya?
- Bisa, dengan mengekliknya. Tata letak Eropa adalah papan ISO dengan tombol ke-102 di tempat itu, dan ABNT2 Brasil punya satu tombol tambahan di samping Shift kanan; papan ANSI bergaya Amerika tidak punya keduanya. Keduanya digambar pada keyboard di layar, dan mengekliknya mengetik apa yang ditempatkan tata letak di situ — jadi tidak ada karakter suatu tata letak yang di luar jangkauan, apa pun papan ketik Anda.
- Apakah ada yang saya ketik dikirim ke server?
- Tidak. Seluruh keyboard — tata letak, pemetaan, penyusunan — berjalan di browser Anda. Ketukan diproses secara lokal, tidak ada yang diunggah atau dicatat, dan penangkapan hanya berlaku selama kotak teks berfokus, sehingga tombol yang ditekan di bagian lain halaman tidak pernah terlihat sama sekali.