Antarmuka baris perintah mudah dan nyaman untuk dibuat, memperluas fungsionalitas tanpa mengkhawatirkan pengguna.
Jika Anda perlu mengkonfigurasi sesuatu, tetapi tidak ada item yang diperlukan di menu, maka Anda bisa masuk ke konfigurasi dengan tangan Anda. Jika tidak ada akses ke konfigurasi, maka Anda harus menderita.
Inilah yang saya bawa ke fakta bahwa bahkan memiliki antarmuka grafis, teks bisa sangat berguna, terutama jika ada sesuatu yang tidak terduga selama pengembangan.
Pantulan pada keyboard di Flipper Zero memicu diskusi yang lambat tentang pengoptimalan metode masukan. Saya suka sepeda juga, jadi inilah beberapa ide liar.
Pengguliran sortir cerdas
Kami akan mulai dari pengguliran simbol sederhana.
Ada teks yang diketik, navigasi lewat teks - panah kiri / kanan. Untuk memilih simbol, gulir ke atas / bawah daftar linier semua simbol.
Cukup canggung, mari kita lakukan beberapa perbaikan.
Berdasarkan teks yang dimasukkan oleh pengguna, kami akan mengumpulkan statistik dalam n-gram karakter. Dalam kasus yang paling sederhana, kami mengambil 4 simbol sebelumnya, mengurutkan tabel simbol berdasarkan frekuensi penggunaan dengan tetragram ini. Pengguna mulai menggulir ke bawah dan dengan cepat menemukan simbol yang diinginkan. Saat menggulir ke atas, ada serangkaian perintah layanan tetap, seperti spasi, hapus karakter sebelumnya, huruf besar / kecil dan tata letak.
Untuk berbagai tugas yang sempit, metode ini akan cocok, tetapi bagi seseorang masih terlalu sulit. Anda harus berkonsentrasi agar tidak melewatkan tanda yang diinginkan, dan ini melelahkan.
Sistem terner
Tetapi bagaimana jika Anda hanya ingat lokasi rentang karakter yang diinginkan di Unicode?
Kami mengetik kode simbol, konfirmasi, kami ketik yang berikutnya.
Kami memiliki 5 tombol. Jika kita menggunakan satu untuk mengkonfirmasi input, yang kedua untuk menghapus digit terakhir, ada 3 tombol per angka. Misalkan naik - 0, ke kanan - 1, bawah - 2.
Cukup membiasakan diri dengan sistem terner dan mempelajari rentang kode yang diperlukan. Kenyamanan dipertanyakan, tetapi membiasakan diri dengan jenis masukan ini jauh lebih mudah daripada menjejalkan kode Morse. Ada beberapa redundansi, Anda dapat memasukkan semuanya mulai dari karakter kontrol hingga emoji, tetapi hampir tidak ada orang yang perlu menggunakan lebih dari seratus huruf dan tanda baca.
Pengguliran 2D
Mari kita perluas scroll ke beberapa baris simbol, urutkan berdasarkan frekuensi penggunaan, sehingga jarak Manhattan dari titik awal ke simbol semakin besar semakin sedikit penggunaannya.
Ternyata jauh lebih nyaman, tidak perlu persiapan. Antarmuka yang buruk dan intuitif, cukup cocok untuk layar kecil. Di telepon dengan tombol tekan, Anda dapat memanggil semua jenis karakter khusus dengan cara yang sama. Tetapi dengan mengurangi ukuran menjadi satu baris, Anda dapat melakukannya di layar yang sangat kecil.
Masukan harus dikontrol secara visual, maka pelatihan yang lama tidak diperlukan (kode halo Morse) dan penempatan karakter harus statis, jika tidak, panggilan cepat tidak akan berfungsi. Meskipun, mungkin ini masalah kebiasaan, jika tombol yang sering kita gunakan itu sendiri melompat ke bawah jari kita, otak bisa beradaptasi, tapi kita punya apa yang kita punya.
Anda juga dapat menemukan semua jenis kode Huffman, tetapi ini adalah komplikasi yang tidak perlu, ditambah ketidakmungkinan untuk berkembang, kode Morse adalah contohnya.
Berikut ini tautan ke kode demo yang digunakan dalam posting
Disertakan sebagai pustaka Python, fungsi terner secara opsional menerima string untuk diedit. Untuk keluar dari mode navigasi, tekan panah atas. Dalam mode edit, kode terner karakter diketik (atas - 0, kanan - 1, bawah - 2, kiri - hapus digit terakhir, Enter - konfirmasi). Untuk keluar, tekan Enter, fungsi akan mengembalikan baris yang telah diedit.
Dalam fungsi roll, semuanya jauh lebih sederhana - pilih karakter dengan panah, konfirmasi dengan tombol Enter. Di baris atas pertama: Sisipkan Tab, Shift, Backspace, Spasi, Line Feed, Hapus dan Caps Lock.