Як обчислити ідеальну розкладку клавіатури для програмістів?


8

Я думаю про створення нового розкладу клавіатури для програмування. Зараз я здебільшого програмую на HTML, JavaScript / jQuery / CoffeeScript, CSS / LESS / SASS, хоча незабаром я можу попростуватись у сценаріях оболонок та RegEx, можливо, через кілька років, можливо, LUA, C ++ та Java. Я хочу мати наукові докази ключових місць розташування. У мене є ідеї / вимоги, деякі придумали самі, деякі взяті або похідні від інших:

  • Майже всі клавіші можуть бути перекомпоновані
    • RETURN , лівий SHIFT , лівий CONTROL , КОСМОС-бар , і TAB повинні залишитися, але все решта, включаючи цифри, символи, і клавішу переміщення відкриті для переміщення
    • Може бути оптимальним, щоб залишити zxcv & perhhaps s залишитися на місці завдяки звичайним звичкам Скасувати / Вирізати / Скопіювати / Вставити / Зберегти :)
    • Клавіша DELETE, ймовірно, буде переміщена туди, де знаходиться CAPS LOCK :)
    • Навряд чи зберегти відповідні дужки типу () {} [] <> поруч; Дивись нижче
  • Єдиний точний спосіб IMHO для підрахунку використання ключа - це реєстрація ключів, а не кількість файлів:
    • Значна частина "програмування" - це надсилання електронних листів, публікація на форумах, щебет, повідомлення про помилки, веб-серфінг тощо.
    • Я вважаю, що багато використання клавіатури - це "рух"; вкладка між полями, сторінка вниз, переміщення курсорів тощо. Вони не фіксуються вихідними файлами
    • Багато редакторів використовують автоматичне заповнення та макроси, тому близько-розмежувачі:)}]> можуть не так часто вводитись, як відкривачі, тому лише реєстрація ключів та неаналіз файлів будуть точними.

Тож мої запитання:

  1. Які безпечні вільні / відкриті джерела програмних кейлогерів, які не завантажуватимуть файли, якщо ви самостійно не надішліть окремий файл? Я вважаю за краще НЕ збирати імена та паролі для входу не тільки для безпеки, але і для того, що це може спричинити мій аналіз IMHO.
  2. Які програми можна використовувати на стороні клієнта для дайвінгу підрахунків клавіш одно- і парних? Або як найкраще побудувати його?
  3. Де найкраще знайти волонтерів, які допоможуть?

Кращі дослідження поки що: http://www.michaelcapewell.com/projects/keyboard/layout_capewell.htm

http://viralintrospection.wordpress.com/category/technology/keyboard-layouts/

& Вікіпедія: клавіатура_клауту # не-QWERTY_keyboards_for_Latin_scripts

ТІА!


Цікаве запитання, але дозвольте запропонувати одне із своїх: чи краще нам не відмовлятися від шаруватих макетів шоколадної батончики, якими ми користуємось десятиліттями для чогось зовсім іншого?
Ігнасіо Васкес-Абрамс

Ви маєте на увазі, що Ігнасіо переключиться на цілком новий макет, як-от Контурна клавіатура Кінесіса за $ 300USD? Ні, лише перекомпонування ключів у існуючих дешевих клавіатур можна знайти в звичайному магазині за $ 5-20.
tomByrer

Якщо ви звикли до стандартної QWERTY (або іншої) клавіатури, можливо, буде більш ефективно просто використовувати її, а не вивчати новий макет. Особливо, якщо ви регулярно використовуєте інші комп’ютери, на яких не буде налаштована ваша компоновка.
Боб

1
До речі, для того, щоб люди отримували відповіді, вам потрібно, наприклад, надіслати їх за допомогою @tomByrer!
slhck

2
Я підозрюю, що найкраще робити - це давати <>{}[]власні ключі (та інші клавіші, які вимагають зміни), - я б не вважав себе програмістом, але я знаю, що це найбільше дратує при написанні баш-скриптів.
злий

Відповіді:


2

Використовуйте таку програму, як WhatPulse, щоб записати, які клавіші вдарені та скільки разів.

Після запитання в мережі IRC FreeNode про те, як зібрати ключові частоти разом, користувач привів мене до цього:

  1. Отримайте свої тексти, такі як програми (програми), і скопіюйте їх.
  2. Перейдіть на сторінку http://type.trmnl.org/
  3. Під кнопками обов'язково зніміть прапорець "Автозапустити вміст буфера обміну на пасті"
  4. Потім вставте програму в текстове поле.
  5. Натисніть Cntrl + Shift + K, що відкриє консоль.
  6. Введіть count_digraphs()і натисніть Enter.

Результати читаються так: "ar" 7 17 10 "ra"це означає, що "ar" було натиснуто 7 разів, "ra" було натиснено 10 разів, і всі разом "ar" і "ra" були натиснуті 17 разів разом


"Додаткові параметри. Запишіть частоту натискань клавіш. Введено у версії 1.7, що дозволяє вам відстежувати кількість натиснутих клавіш." whatpulse.org/wiki/Program_Settings_Tab_2 Солодке, thaks @ekaj! Я надто загляну в це!
tomByrer

Я думаю, що це найкраще рішення на сьогоднішній день, окрім більш настирливих кейлогерів. Бути кросплатформенним та вихідним XML / HTML - це благо. Єдине, чого не вистачає - це підтримка біграми / діаграми (послідовності двох суміжних елементів). Обґрунтування: англійською мовою не тільки загальний "він" і "го", але і для багатьох мов програмування (наприклад, C ++, JavaScript, CSS) " ; ВВОД " дуже часто набираються разом. Тож якщо є клон WhatPulse, який це дозволяє, то це було б найкраще. Тим часом я опублікую пропозицію на їхньому форумі.
tomByrer

1
@tomBryer спробував оновити відповідь для вас, сподіваюся, що це допоможе .. і зауважте, я міг лише змусити його працювати у FF, а не в IE чи Chrome .. Не знаю, чому.
cutrightjm

Так, це корисно кількома способами! Вихідний код: "'На жаль, ця програма не працює в IE, sry.'"; IE іноді має дивний синтаксис JS.
tomByrer

4

Клавіші для переміщення в редакторах найчастіше пристосовані так, щоб максимально ефективно використовувати QWERTY, і тому їх, безумовно, потрібно буде переробити, якщо змінити макет клавіатури та бажати оптимального розміщення всього, до чого прагнеш. Наприклад, у Vim, кнопки HJKL використовуються з QWERTY з причини, і, швидше за все, їх потрібно буде перевстановити назад у те саме місце після зміни ключової карти.

Я маю на увазі те, що це не дуже допоможе вам відслідковувати переміщення та редагування клавіш та використовувати його як основу для нової верстки, оскільки вони легко конфігуруються (у будь-якому редакторі варто солити, а оскільки ми говоримо про програміст макет, ми, швидше за все, говоримо про Vim або Emacs), не повинен перешкоджати розміщенню буквальних ключів і вже оптимізований (знову: ми не говоримо про Notepad).

Ви намагаєтеся вирішити проблему, яка є неефективним способом підвищення продуктивності праці , особливо для програміста ** imho **. Значно більший ефект був би просто дізнатися більше про інструменти (ще раз: мабуть, Vim / Emacs). Ви побачите, що все менше часу витрачається на написання символів під час програмування, і більше (але ефективніше) часу витрачається на автоматичне завершення, автоматичне позначення тегів, автоматичне відступ, швидке пошуку функцій визначення тощо. Клавіші Для цього все вже адаптовано, щоб забезпечити ефективність, а великий прискорення швидкості відбувається просто при знайомстві. Таким чином, я стверджую, що інша розкладка клавіатури підходить порівняно руйнівно для продуктивності , оскільки їх у вас вже багатороків QWERTY вправи. Якби той самий час на аналітичну підготовку був витрачений на QWERTY, як і люди, які перемикають макети, витрачають на Дворак, вони також помітять підвищення швидкості. Швидкість приходить з явним тренуванням.

Якщо ви були копірайтером / перекладачем / автором / тощо., Хтось фактично витрачає свій час на роботу з буквальним значенням клавіш, то інший макет може допомогти. Для програміста найкраща порада - як мінімум, отримати англійську розкладку клавіатури, оскільки ідіоми програмування були сформовані саме цими та їх розміщенням ключів (на моєму локальному макеті ключів, @$[]{}~всі відстають від AltGr, що є досить неоптимальним).

tldr: Dvorak / Colemak / [наступна "найкраща річ з нарізаного хліба"] (можливо, вирішує проблему лише для тих, хто вводить багато текстових текстів певною мовою (найчастіше англійською)). Для програмування необхідні клавіші не підпадали під ті ж обмеження, що й буквальна мова, і, таким чином, вона вже оптимізована за своїм призначенням (що не просто "пишіть так швидко, як ви можете"; це більше спирається на логічні операції. Див. Вим). Я вважаю, що час, витрачений на вивчення альтернативних макетів, і плутанина, яка, безумовно, виникає знову і знову, безумовно, не вартує зусиль у більшості випадків (не лише твоя плутанина; інші, хто сідає на той самий термінал, який ти востаннє використовував, кинуть речі у вас), дуже в тому числі і програміста.


Дякуємо @ Даніелю-Андерссону за вашу думку про Вім; корисно зважити, що деякі редактори дозволяють переміщувати клавіші переміщення! Мені доводиться дізнатися більше про мої інструменти. Однак я ВІННО редагую за допомогою багато інструментів; онлайн-редактори та текстові поля: форуми (як тут;), суті, jsFiddle, GMail, Facebook, Twitter (чи не має бути клавіша закриття без змін?) та інші редактори, такі як Inkscape, SynthMaker, Live, і т. д. Я хотів би максимально уніфікувати свої ярлики за допомогою клавішних клавіш, а потім зробити це на крок вище через
конфігурацію
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.