Python Keyboard
От самодельной USB-клавиатуры до разработки клавиатуры на Python
Китайский | Английский
В статье рассказывается о создании клавиатуры, работающей на Python.
Если вы хотите лучше понять, как устроена клавиатура, то лучший способ — сделать её самостоятельно. В этом вам может помочь инструкция из репозитория hand-wiring-a-keyboard.md.
Самодельная клавиатура получила много положительных отзывов. Многим она понравилась, но некоторые задавались вопросом, почему используется именно Python. Автор статьи начал создавать клавиатуру просто ради интереса, а затем, вложив больше времени и усилий в её совершенствование и изучение, стал считать, что Python может дать клавиатуре уникальный и необычный опыт.
Создание самодельной клавиатуры может быть сложным процессом, поэтому было решено разработать новую клавиатуру с использованием Python, чтобы больше людей могли оценить сочетание клавиатуры и Python.
Клавиатура на Python — это не только клавиатура, но и USB-накопитель. Код Python хранится на накопителе, и его можно редактировать с помощью любого текстового редактора без необходимости настройки среды разработки. Настройка раскладки клавиатуры (keymap), добавление макросов или реализация новых функций становятся очень простыми — достаточно изменить файл Python на накопителе и сохранить его. Изменения вступят в силу немедленно.
Для получения более подробной информации см. M60 keyboard.
Это 60% клавиатура, в которой отсутствуют клавиши F1–F12, клавиши направления и другие клавиши.
Однако, используя многоуровневые переключения и комбинированные клавиши из TMK (https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md) и концепцию использования пальцев в основном на клавишах A, S, D, F и J, K, L и ;, мы можем сделать эту маленькую клавиатуру более эффективной.
Здесь представлена функция Tap-key, которая позволяет использовать короткие и длинные нажатия для различных целей. Короткое нажатие используется как обычная клавиша, а длительное удержание клавиши D без отпускания активирует функцию перемещения курсора. Клавиши H, J, K и L используются как клавиши направления, а U и N — как PgUp и PgDn.
Клавиша D используется в качестве Tap-key. При коротком нажатии выводится буква d, при длительном удержании клавиши D активируется функция перемещения курсора, а клавиши H, J, K и L становятся клавишами направления. Клавиши U и N используются как PgUp и PgDn соответственно.
Точка с запятой также используется в качестве Tap-key: при коротком нажатии выводится символ ;, при долгом удержании — Ctrl.
В VS Code при наборе текста двумя руками использование точки с запятой в сочетании с другими клавишами удобнее, чем использование левой рукой Ctrl. Стоит отметить, что в VS Code, когда текст не выделен, Ctrl + C копирует строку, на которой находится курсор, а Ctrl + V вставляет скопированную строку ниже текущей строки. Используя комбинацию клавиш D и H, J, K или L, можно легко перемещать курсор.
А в браузере можно использовать точку с запятой в комбинации с Tab для переключения между вкладками, точку с запятой и T для открытия новой вкладки, а также точку с запятой и W для закрытия вкладки.
Кроме того, клавиатура поддерживает одновременное (или в течение 10 мс) нажатие двух клавиш для активации специальных функций, которые называются парными клавишами (pair-keys).
Автор благодарит MicroPython (https://github.com/micropython/micropython), CircuitPython (https://github.com/adafruit/circuitpython) и проекты TMK (https://github.com/tmk/tmk_keyboard) и Toward a more useful keyboard (https://github.com/jasonrudolph/keyboard).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )