AI Индикация смены раскладки клавиатуры в виде лампы с RGB-светодиодом для Gnome

  • Автор темы Автор темы AI
  • Дата начала Дата начала

AI

Команда форума
Редактор
Регистрация
23 Авг 2023
Сообщения
3,969
Реакции
0
Баллы
36
Ofline
Предистория


Этот cказ о том, как мне надоело приглядываться к раскладке клавиатуры, и я решил проблему попутно освоив нестолько фичей в программировании и не только

Есть одна маленькая, но изматывающая боль, знакомая почти каждому, кто много печатает. Ты смотришь на экран, пальцы уверенно бегут по клавиатуре, мысль сформулирована… и на выходе получается:

ghbdtn
ytt gjyzk
plfybt yf rjywt

Проблема не в пальцах. Проблема в том, что где-то там, в углу экрана, мелким шрифтом притаилась надпись EN или RU, и каждый раз приходится:


  • Прищуриться


  • Найти индикатор


  • Осознать ошибку


  • Нажать SUPER_ПРОБЕЛ или Alt+Shift


  • Перепечатать


  • Вздохнуть

И так — десятки раз в день. В какой-то момент я понял: я не обязан так жить.

Идея


Я захотел простую вещь: не угадывать, какая раскладка включена не искать глазами мелкий индикатор не ломать поток мысли А просто сразу понимать, на каком языке я печатаю.

Решение


Сделать лампу, которая:


  • явно и наглядно показывает текущую раскладку


  • видна сразу, без фокусировки взгляда


  • не мешает работе


  • не требует каждый раз думать о ней

Теперь раскладка:


  • сообщает о себе сама


  • не требует внимания


  • не превращает набор текста в мини-квест
Результат


  • Больше нет ghbdtn вместо «привет»


  • Больше нет случайных заклинаний в коде


  • Больше нет лишних пауз и раздражения

SUPER_ПРОБЕЛ снова просто сочетание клавиш, а не лотерея

Пальцы печатают. Голова думает. Глаза отдыхают.

Зачем этот проект


Потому что:


  • это реально мешает работе


  • это проблема, которую все терпят


  • её можно решить один раз и забыть

Если ты когда-нибудь:


  • печатал абракадабру из-за раскладки


  • злился на себя за «опять не посмотрел»


  • ххотел, чтобы компьютер был чуть внимательнее к тебе


  • значит, ты - целевая аудитория.
Эпилог


«Обойдемся без эпилога, далее - подробное описание проекта со схемами и исходниками».

KeyLamp

Описание проекта


KeyLamp — это проект, который сочетает аппаратную и программную части для создания устройства, показывающего текущую раскладку клавиатуры с помощью RGB-светодиода. Система состоит из нескольких компонентов, которые работают совместно для обеспечения удобного отображения состояния клавиатуры в реальном времени.

Цель — предоставить удобный индикатор раскладки клавиатуры в виде лампы, управляемой через USB-соединение, которая изменяет цвет в зависимости от текущей раскладки (например, us для английской раскладки и ru для русской).

Как это выглядит:

3f01a52d67033736948e5eaaa6310258.gif

KeyLanmpVideo

Проект включает следующие компоненты:


  1. Python-сервис для отслеживания раскладки клавиатуры в Linux и управления подключенным устройством.


  2. Arduino-скетч для управления RGB-светодиодами, отображающими цвет текущей раскладки.


  3. GNOME-плагин для интеграции с GNOME Shell и обмена данными о раскладке через D-Bus.


  4. Изготовление корпуса (или аналогичная физическая часть), которая представляет собой корпус устройства, куда устанавливаются компоненты.
Архитектура

1. Сборка электронной схемы и Arduino-скетч


  • Описание: Инструкция по сборке электронной схемы лампы и Скетч для Arduino, который управляет RGB-светодиодом, меняя цвет в зависимости от полученных через последовательный порт данных.


  • Основные задачи:

    • Получение данных о цвете от Python-сервиса через последовательный порт.


    • Управление RGB-светодиодами для отображения цвета.

Клонируй репозиторий и читай README.md

git clone GitHub - lshnls/keylamp-arduino https://github.com/lshnls/keylamp-arduino.git
2. GNOME Shell plugin


  • Описание: Расширение для GNOME Shell, которое отслеживает текущую раскладку клавиатуры и передаёт эти данные через D-Bus в другие приложения.


  • Задачи:

    • Слушает изменения раскладки клавиатуры.


    • Отправляет события через D-Bus, чтобы другие компоненты (например, Python-сервис) могли использовать эти данные.

Клонируй репозиторий и читай README.md

git clone https://github.com/lshnls/keylamp-gnome-plugin.git
3. Python-сервис


  • Описание: Python-скрипт, который отслеживает изменения раскладки клавиатуры через D-Bus и отправляет соответствующий код цвета в Arduino.


  • Задачи:

    • Подключение к D-Bus GNOME для отслеживания раскладки.


    • Отправка кодов цветов по USB через последовательный порт.


    • Поддержка нескольких раскладок и цветов.\

Клонируй репозиторий и читай README.md

git clone GitHub - lshnls/keylamp-python-service https://github.com/lshnls/keylamp-python-service.git
4. Сборка схемы и изготовление корпуса


  • Описание: Физический корпус, в который размещаются все компоненты (Arduino, светодиоды и другие элементы). Куб или аналогичная форма — это решение для компактного и эстетичного размещения устройства.


  • Задачи:

    • Создание схемы электронного устройства


    • Защита электронных компонентов.


    • Создание удобного и функционального вида устройства.

Используйте эпоксидную смолу для создания герметичного корпуса, который будет удобен для размещения компонентов.

Материалы:


  • Эпоксидная смола


  • Диффузиант


  • Силиконовая форма куба 7x7x7 см.


  • Защитные перчатки и маска при работе с химическими веществами

Советы:


  • Используйте эпоксидную смолу для больших объемов заливки (от 70 мм.)


  • Тщательно перемешивайте компоненты смолы и диффузиант, удалите пузыри с помощью технического фена.


  • USB кабель подключите перед заливкой, а его конец погрузите в смолу вместе с собранной ранее схемой arduino (неразъемное соединение будет надежнее).
Лицензия


MIT License — используй, дорабатывай, улучшай.
 
Назад
Сверху Снизу
Яндекс.Метрика Рейтинг@Mail.ru