Saya sedang berpikir tentang membuat tata letak keyboard baru untuk pemrograman. Sekarang saya kebanyakan program dalam HTML, JavaScript / jQuery / CoffeeScript, CSS / KURANG / SASS, meskipun saya mungkin mencoba-coba dalam skrip shell & RegEx segera, dengan mungkin LUA, C ++, & Java dalam beberapa tahun. Saya ingin memiliki bukti ilmiah untuk penempatan kunci. Saya punya ide / persyaratan, beberapa menemukan diri saya sendiri, beberapa diambil atau berasal dari yang lain:
- Hampir Semua kunci dapat diatur ulang
- RETURN , SHIFT Kiri , KONTROL Kiri , SPACE-bar , & TAB perlu tetap, tetapi semua yang lain, termasuk angka, simbol, & kunci gerakan terbuka untuk dipindah
- Mungkin optimal untuk cuti zxcv & perhhaps s untuk tinggal di tempat, karena umum Undo / Cut / Copy / Paste / Save kebiasaan :)
- Kunci DELETE kemungkinan akan dipindahkan ke tempat CAPS LOCK :)
- Tidak mungkin untuk tetap mencocokkan tanda kurung seperti () {} [] <> di samping satu sama lain; Lihat di bawah
- Satu-satunya cara akurat IMHO untuk menghitung penggunaan kunci adalah dengan pencatatan kunci, bukan jumlah kunci file:
- Banyak "pemrograman" mengirim email, memposting ke forum, twitter, pelaporan bug, menjelajahi web, dll.
- Saya percaya banyak dari penggunaan keyboard adalah "gerakan"; tab antara bidang, halaman ke bawah, memindahkan kursor, dll. Ini tidak ditangkap oleh output file
- Banyak editor menggunakan lengkapi-otomatis & makro, jadi pembatas-dekat:)}]> mungkin tidak sering diketik seperti pembuka, jadi hanya penebangan kunci & tidak mem-parsing file yang akurat.
Jadi pertanyaan saya:
- Apa keyloggers perangkat lunak bebas / sumber terbuka yang aman , yang tidak akan mengunggah file kecuali Anda mengirim file terpisah sendiri? Saya lebih suka TIDAK untuk mengumpulkan nama masuk & kata sandi, tidak hanya untuk keamanan tetapi juga untuk karena itu dapat membuang IMHO analisis saya.
- Program apa yang dapat digunakan sisi klien untuk mencerna jumlah kunci tunggal & pasangan? Atau bagaimana cara terbaik membangunnya?
- Di mana yang terbaik untuk menemukan sukarelawan untuk membantu?
Penelitian terbaik sejauh ini: http://www.michaelcapewell.com/projects/keyboard/layout_capewell.htm
http://viralintrospection.wordpress.com/category/technology/keyboard-layouts/
& Wikipedia: Keyboard_layout # Non-QWERTY_keyboards_for_Latin_scripts
TIA!
keyboard
keyboard-layout
ergonomics
keylogger
TomByrer
sumber
sumber
<>{}[]
(dan kunci lain yang saat ini memerlukan shift) kunci mereka sendiri - saya tidak akan benar-benar menganggap diri saya seorang programmer, tapi saya tahu itulah yang paling menjengkelkan ketika menulis skrip bash.Jawaban:
Gunakan program seperti WhatPulse untuk merekam tombol mana yang dipukul, dan berapa kali.
Setelah bertanya pada jaringan IRC FreeNode tentang bagaimana cara mendapatkan frekuensi kunci bersama, pengguna mengarahkan saya ke ini:
count_digraphs()
dan tekan Enter.Hasilnya dibaca seperti ini:
"ar" 7 17 10 "ra"
yang berarti 'ar' ditekan 7 kali, 'ra' ditekan 10 kali, dan semuanya 'ar' dan 'ra' ditekan 17 kali bersamasumber
Kunci untuk pergerakan editor sering disesuaikan agar sesuai dengan penggunaan seefisien mungkin dengan QWERTY, dan karena itu mereka perlu dipetakan kembali jika Anda mengubah tata letak kunci dan menginginkan penempatan optimal segala sesuatu, yang Anda perjuangkan. Misalnya dalam Vim, tombol HJKL digunakan untuk alasan dengan QWERTY, dan kemungkinan besar perlu dipetakan kembali ke penempatan yang sama setelah peta kunci telah dimodifikasi.
Yang saya maksudkan adalah bahwa itu tidak akan banyak membantu Anda untuk melacak gerakan dan mengedit kunci dan menggunakannya sebagai dasar untuk tata letak baru, karena mereka mudah dikonfigurasi ulang (dalam editor apa pun layak itu garam, dan karena kita berbicara tentang programmer tata letak, kita kemungkinan besar berbicara tentang Vim atau Emacs), tidak boleh mengganggu penempatan kunci literal dan telah dioptimalkan (sekali lagi: kita tidak berbicara tentang Notepad).
Anda mencoba memecahkan masalah yang merupakan cara tidak efisien untuk produktivitas , terutama untuk seorang programmer , ** imho **. Akan ada efek yang jauh lebih besar hanya dengan mempelajari lebih lanjut tentang alat (sekali lagi: mungkin Vim / Emacs). Anda akan menemukan bahwa semakin sedikit waktu yang dihabiskan untuk menulis karakter saat pemrograman, dan lebih banyak (tetapi lebih efisien) waktu dihabiskan untuk penyelesaian otomatis, penandaan otomatis, indentasi otomatis, pencarian definisi fungsi cepat, dll. Kunci untuk melakukan semua ini sudah disesuaikan untuk memungkinkan efisiensi, dan peningkatan kecepatan besar datang hanya dengan keakraban. Jadi saya berpendapat bahwa tata letak keyboard yang berbeda tepat untuk merusak produktivitas , karena Anda sudah memiliki banyaklatihan QWERTY selama bertahun - tahun . Jika waktu pelatihan analitik yang sama dihabiskan pada QWERTY seperti orang-orang yang beralih tata letak menghabiskan pada Dvorak, mereka juga akan melihat peningkatan kecepatan. Kecepatan hadir dengan pelatihan eksplisit.
Jika Anda adalah seorang copywriter / translator / author / etc, seseorang yang benar-benar menghabiskan waktunya melakukan pekerjaan dengan makna literal kunci, maka tata letak yang berbeda mungkin bisa membantu. Untuk seorang programmer, tip terbaik biasanya untuk setidaknya mendapatkan tata letak keyboard bahasa Inggris, karena idiom pemrograman telah dibentuk oleh ini dan penempatan kunci mereka (pada tata letak kunci lokal saya,
@$[]{}~
semuanya di belakang AltGr yang cukup sub-optimal).tldr: Dvorak / Colemak / ["hal terbaik sejak irisan roti"] berikutnya (bisa dibilang) memecahkan masalah hanya bagi mereka yang memasukkan banyak teks yang mengalir dalam bahasa tertentu (paling sering bahasa Inggris). Untuk pemrograman, kunci yang dibutuhkan belum tunduk pada batasan yang sama dengan bahasa literal, dan dengan demikian telah dioptimalkan untuk tujuannya (yang tidak hanya "menulis secepat yang Anda bisa"; itu membangun lebih banyak pada operasi logis. Lihat Vim). Saya percaya bahwa waktu yang dihabiskan untuk mempelajari tata letak alternatif dan kebingungan yang pasti terjadi berulang kali jelas tidak sebanding dengan usaha dalam banyak kasus (bukan hanya kebingungan Anda sendiri; orang lain yang duduk di terminal yang sama yang terakhir Anda gunakan akan membuang hal-hal pada Anda), termasuk programmer
sumber