''


Как известно, люди делятся на две категории: на тех, кто переключает раскладку с помощью Ctrl+Shift и тех, кто использует Alt+Shift. А еще есть счастливчики, кому это не нужно – те, у кого только одна раскладка (как правило, английская). Остальные завидуют им и мучаются с двумя, а то и с тремя раскладками: английский, русский, украинский (белорусский, казахский и т.д.).


Проблема в том, что, переключая язык, приходится постоянно смотреть на эту маленькую иконку языка. Есть и другие варианты:


  • Использовать отдельные комбинации на разные языки (Ctrl+1(2.3)) – программисты, которые работают в разных IDE, согласятся, что это не вариант, так как такие комбинации часто же заняты и перекрываются, а использовать другие в IDE непривычно. Нюанс еще в том, что раскладка в операционной системе – это на самом деле раскладка на текущую программу, а не на все (не удивлюсь, если не все это замечали). Т.е, если сейчас активен Word c английской раскладкой, то, переключившись в браузер, там может быть другая раскладка. И приходится или смотреть на иконку снова или же повторно вбивать, например, Ctrl+1, даже если язык не менялся.
  • Использовать программы типа Punto switcher, которые пытаются автоматически исправлять раскладку – не всегда это получается правильно и часто еще больше усложняет набор.
  • Использовать программы, которые переключают темы Windows – не каждому понравятся разноцветные панель задач или окна.

Идея


А давайте сделаем на основе Arduino кубик с LED подсветкой, который будет стоять на столе и менять свой цвет в зависимости от раскладки. Каждый язык – разный цвет. Например, английский – зеленый, русский – красный, украинский – синий. Это позволит видеть язык текущего приложения периферийным зрением.


''


Сразу говорю, это не сложно сделать даже не электронщикам.


Аппаратная часть


Нужно:


  • Arduino Micro – плюс платы в том, что есть micro-USB, что позволяет соединить его популярным кабелем с ПК. Можно использовать любую компактную плату с micro-USB.
  • RGB-светодиод. Можно использовать вместо него и 3 разноцветных светодиода.
  • 3 резистора 220 ом.
  • “кубик”.

В качестве “кубика” можно использовать что угодно. Я купил часы-будильник с Aliexpress.com в виде кубика. Вот так выглядит сам куб:


''


Понравились размеры, цена и дополнительное использование в виде датчика температуры (сами часы в кубике не точные, потому бесполезные). На том же Aliexpress.com можно найти и другие варианты:


  • пирамида-часы;
  • просто кубик с подсветкой.

Учитывая сегодняшние возможности, можно и на 3D принтере что-то напечатать. Да и просто использовать рамку с фото.


Пишем код


Тут все просто, читаем в цикле COM-порт. При чтении значения 1 – включаем зеленый светодиод, остальные гасим. При получении 2 — включаем красный светодиод, остальные гасим. При получении 3 — включаем синий светодиод, остальные гасим.


int inByte = 0;
int LED_R = 5;//красный пин
int LED_G = 6;//зеленый пин
int LED_B = 9;//синий пин
int RV = 255; // яркость
int GV = 255;// яркость
int BV = 255;// яркость
void setup() {
  Serial.begin(9600);
  pinMode(LED_R, OUTPUT);
  pinMode(LED_G, OUTPUT);
  pinMode(LED_B, OUTPUT);
}
void loop() {
  if (Serial.available() > 0) {
    delay(100);
    inByte = Serial.read();
    if (inByte == '2') { // RU
      analogWrite(LED_R, RV);
      analogWrite(LED_G, 0);
      analogWrite(LED_B, 0);
    } else if (inByte == '1') { // EN
      analogWrite(LED_R, 0);
      analogWrite(LED_G, GV);
      analogWrite(LED_B, 0);
    } else if (inByte == '3') { //UA
      analogWrite(LED_R, 0);
      analogWrite(LED_G, 0);
      analogWrite(LED_B, BV);
    }
  }
}

Паяем


Еще проще. Общий пин соединяем с землей (GND). Остальные через резистор 220 Ом с соответствующими пинами, как показано на рисунке.


''


Устанавливаем в куб, предварительно вырезав отверстие под разъем.


''


Программная часть


Тут немного сложней. При изменении языка нужно посылать на COM-порт соответствующее значение (1 или 2 или 3).


Для не программистов ниже есть ссылка на программу под Windows, которая это делает. Единственное, в программе нужно указать COM-порт, к которому подключена Arduino. Это не сложно узнать в диспетчере устройств. Программа после запуска сворачивается в трей, но ее нужно добавить в автозапуск при старте Windows.


''


Программа написана на Delphi, на данный момент не имеет:


  • Функции автоматического поиска порта. Это легко сделать, Arduino при старте будет посылать некий код, программа будет перебирать порты и остановиться в случае его прочтения.
  • Выбора языков. Программа работает только с русским, английским и украинским. Можно сделать возможность указывать по кодам любой язык.
  • Автозапуска программы.

Результат


''



Интересно, что в Windows есть некоторая задержка после нажатия комбинации переключения языка. При этом кубик срабатывает быстрее, чем индикатор, что очень удобно. Больше года использую данную систему и уже не могу представить, как без этого работать.


> Скачать программу


Если пост понравится, доработаю программу, добавив описанный выше недостающий функционал.

Комментарии (103)


  1. Ig_B
    23.12.2017 16:05

    А еще лучше подсоединить к ардуино акселерометр и переворачивая кубик изменять раскладку. Шесть раскладок хватит почти для всех.


    1. sapient Автор
      23.12.2017 17:59

      Была такая идея, но это just for fun, очень не удобный способ переключения. А вообще собирался вместо USB использовать Bluetooth с автономным питанием, тогда кубик можно ставить где угодно. Но подумал, что это не очень экологично да и плюс еще заряжать иногда нужно было бы.


      1. Ig_B
        23.12.2017 19:38

        Bluetooth с автономным питанием это хорошая идея. В большинстве акселерометров есть прерывание на переворот, можно его ловить и передавать в комп, дублируя вспышкой определенного цвета, и на верхнюю грань нанести название раскладки. Посмотрел, и ясно какая раскладка включена.


        1. qsoggg
          24.12.2017 00:32

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


          1. Kirillko312
            24.12.2017 15:37

            Для этого нужна отдельная робо-рука)


          1. ozonar
            25.12.2017 07:28

            Шесть дисплеев!


    1. instalator
      24.12.2017 10:32

      Есть такой готовый Xiaomi mi magic cube


  1. FreeManOfPeace
    23.12.2017 16:18

    >Как известно, люди делятся на две категории: на тех, кто переключает раскладку с помощью Ctrl+Shift и тех, кто использует Alt+Shift.
    Как однобоко, а как же те кто переключают с помощью Caps Lock, например?


    1. alltiptop
      23.12.2017 16:57
      +1

      У тех как индикатор в основном работает лампочка Caps Lock и проблем не возникает совсем. А кубик красивый, да.


      1. sapient Автор
        23.12.2017 18:17

        Это удобно, когда 2 языка. У моего знакомого 4 языка в системе (английский, русский, украинский, иврит). За счет RGB светодиода можно сделать в кубике и 10 четко отличимых цветов.


        1. alltiptop
          23.12.2017 18:43

          За счёт лампочек можно 8, если лампочек 3


          1. steff
            23.12.2017 19:08

            Можно ещё мигать :-)


          1. jaiprakash
            23.12.2017 20:58

            ШИМ же.


      1. Alex_ME
        23.12.2017 18:20

        Редко, но встречаются клавиатуры без лампочек. Например на моей, A4Tech, ни для одной из клавиш (Caps, Num и Scroll Lock) их нет. Вместо них вот такое всплывающее окно:


        1. mistergrim
          24.12.2017 10:34

          Ну как редко — практически любая беспроводная клавиатура.


    1. phaggi
      23.12.2017 16:58

      Command-Space же!


      1. Psychosynthesis
        24.12.2017 09:35

        Это хипстерский.


    1. vconst
      23.12.2017 17:09

      Много лет пользуюсь Пунто и раскладку переключаю правым ctrl, на всех системах дома и на работе.


      1. sapient Автор
        23.12.2017 18:02

        Пунто пробовал, но когда пишешь код, он не всегда корректно переключает.


        1. artemev
          23.12.2017 18:10

          Это частично решается через исключения. А вообще, Пунто очень полезная штука!


        1. MarazmDed
          23.12.2017 20:51

          Зачем оставлять Punto на автопереключение раскладки? Ставим Punto, вырубаем автопереключение. Тычем текст, видем, что накосячили, нажимаем PrtScr и радуемся жизни.


          1. sapient Автор
            23.12.2017 20:53

            А как увидеть, что накосячил при вводе пароля? В принципе, каждому свое, я не спорю, что Punto полезный инструмент.


            1. stifff
              24.12.2017 05:14

              а для паролей есть кипасс


          1. ChiefMate
            24.12.2017 01:30

            скорее, Pause/Break, если по умолчанию


        1. vconst
          23.12.2017 22:37

          Никогда не пользовался его автоматикой, соответственно и проблем таких никогда не было.


      1. Dreyk
        24.12.2017 19:27

        точно так же делал много лет, пока не пересел на мак. еле отвык :/


        1. vconst
          25.12.2017 11:13

          Я почти 20 лет работаю на маках, поставил его с макос сразу, как только его портировали. Соответственно — и на работе тоже: один правый контрол.


          1. Dreyk
            25.12.2017 12:26

            хм… даже не подумал чего-то что его портировали. спасибо.
            вот только там теперь нет различия правый/левый, переключается по любому из них


            1. vconst
              25.12.2017 12:40

              И правда нет, даже не задумывался. Но мне проще, только две раскладки.


    1. sapient Автор
      23.12.2017 18:01

      Да, фраза не претендует на научность. Но, чего греха таить, обыграв этот мем, планировалось собрать перепись «альтернативщиков».


    1. DoctorMoriarty
      23.12.2017 18:40

      А как же Win+Space?


    1. DLavruhin
      23.12.2017 18:40

      Таких не бывает


    1. Kardini
      23.12.2017 18:40

      А как же сторонники Андроида с их Ctrl + пробел?


    1. Kelly
      23.12.2017 18:40

      Ctrl+Space забыли


    1. Jmann
      23.12.2017 19:23

      Win + Space.


    1. vmchaz
      23.12.2017 22:44

      Идея переключения вообще убога.
      Лучше включать нужные раскладки — например,
      Caps — английская
      Shift+Caps — русская
      Ctrl+Caps — третья
      Alt+Caps — четвёртая
      Ctrl+Shift+Caps — работает как оригинальный Caps


      1. sapient Автор
        23.12.2017 23:36

        Бесспорно, но что делать, когда у каждого приложения свой язык? Переключился на приложения и каждый раз включать раскладку N, даже если там уже стоит N или каждый раз смотреть на иконку, какой там язык?


      1. olvin_hh
        23.12.2017 23:55

        > в Linux переключение действует на уровне ядра, а не на уровне приложения, что даёт много неочевидных проблем
        А не расскажете, каких? Любопытно)


      1. dmitryrf
        24.12.2017 10:23

        Это был идеальный вариант, но последних версиях убунты такую возможность удалили :(


      1. alltiptop
        24.12.2017 19:08

        Каких проблем?


    1. Daniil1979
      24.12.2017 11:46

      А ещё есть те, кто использует два Shift-a, но это совсем редкость. А опытные админы, чтобы не терять время, сначала нажимают Ctrl+Shift, а затем сразу Alt+Shift.


    1. Dmitry_7
      24.12.2017 19:18
      -1

      Тумблером или педалью!
      Тред захвачен некрофилами с ком портом...


  1. AlexandrDP
    23.12.2017 17:17

    Лет пять использую комбинации
    Ctr+Shift+8 — Язык1
    Ctr+Shift+9 — Язык2
    Ctr+Shift+0 — Язык3
    Главное перед началом набора текста сказать себя на каком языке набираешь.
    На раскладку не смотрю вообще.


    1. sapient Автор
      23.12.2017 18:13

      Пробовал устанавливать комбинацию для каждого языка, не прижилось.

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

      И, главное, если открыто много программ, то при переключении приложений (Alt+TAB) с таким способом придется нажимать комбинацию для Языка1, даже если в открывшемся приложении этот язык уже выставлен. Или, снова таки, смотреть ни индикатор.

      Я использую Ctrl-Shift, при этом не приходится делать ни каких лишних движений, чтобы узнать, на какой язык переключился. Цвет кубика видно периферийным зрением. Мозг настолько адаптировался, что все это уже работает на полном автомате.


    1. FlyHighOnTheSky
      23.12.2017 18:37

      Левый шифт — англ
      Правый шифт — рус


      1. sapient Автор
        23.12.2017 18:37

        А средний Shift — Язык3 :-)


    1. BInc
      23.12.2017 22:00

      Аналогично. Но у меня комбинации, которые нажимаются одной рукой:
      Alt+Shift+1
      Alt+Shift+2
      Alt+Shift+3
      Тайком устанавливаю их на всех компьютерах, на которых доводится работать.


      1. VolodjaT
        24.12.2017 00:29

        та же история. Уже выработалась привычка автоматически нажимать комбинацию требуемого языка перед началом печати


  1. phantom-code
    23.12.2017 18:02

    Есть еще много способов переключения раскладки, смотрите немного шире привычного мира Windows. Многие, например, используют Caps Lock.


    1. sapient Автор
      23.12.2017 18:05

      Вопрос не в способе переключения (в Windows, кстати, тоже Caps Lock можно использовать). Вопрос в отображении текущего языка приложения. При чем кубик будет работать в любой ОС, в которой установится драйвер виртуального COM-порта Arduino.


  1. sapient Автор
    23.12.2017 18:35

    Вообще, есть много уже реализованных идей на основе Arduino:

    • WEB-управление кондиционером или другим устройством (ESP8266+Drupal);
    • офисная сигнализация с WEB-управлением (Arduino + Ethernet Shield + Drupal);
    • сбор статистики с теплицы (ESP8266+датчики тока, температуры, влажности, давления + Drupal).

    Есть нереализованные идеи:

    • контроль интернет-провайдеров в виде цифровой индикации пинга (Arduino + Ethernet Shield + LED матрица);
    • этот же кубик доделать, сделав индикацию сообщений (с почты о важных письмах или новых комментариев на сайте) в виде мигающею индикации.

    Вопрос только, на сколько эта тематика востребована на гиктаймсе.


    1. Psychosynthesis
      24.12.2017 10:35

      Про ESP и её связку с CMS интересно.
      Единственный вопрос, который мучает лично меня — НУ ПОЧЕМУ DRUPAAAL&^%&!%?

      Нет, серьёзно, есть же более подходящие варианты.


      1. sapient Автор
        24.12.2017 19:07

        В холиварах типа какая лучше CMS или язык программирования в частных проектах (для себя) всегда выигрывает вариант «Что лучше знаю, на том и пишу».

        Я с Drupal давно работаю, от него в данном случае нужно только ядро, респонсивная тема (Bootstrap + less), удобное подключение Highcharts для рисования графиков. Дальше свой модуль и удобное API в Drupal для работы с формами и базой (чтобы запросы с Arduino записывать в свою таблицу). И все, WEB-интерфейс с авторизацией и правами готов.

        Ясно, что все можно и без CMS сделать, как и без Arduino. Но я не настолько люблю паять, чтобы свои платы травить. Если делать все с нуля, по ходу и желание закончить проект пропадет. Тут главное, после того, как идея проекта возникла, быстро его реализовать. Как раз кирпичики типа Arduino и CMS позволяют в работе сосредоточиться больше на самом проекте.

        А Вы про какие варианты имеете ввиду? Какая-то CMS/CMF или другое что-то?


        1. Psychosynthesis
          25.12.2017 12:01

          Ну, не соглашусь. Если я вижу, что для моих целей CMS, которую я хорошо знаю — избыточна, я скорее всё-таки потрачу время на изучение аналога, либо вообще попытаюсь велосипед написать. Хотя это лично мой подход.

          Вообще я имел ввиду просто другую CMS, менее громоздкую. Что-нибудь в духе Textolite, например.


  1. sumanai
    23.12.2017 18:48

    Нюанс еще в том, что раскладка в операционной системе – это на самом деле раскладка на текущую программу, а не на все (не удивлюсь, если не все это замечали)

    С Windows 10 по умолчанию это не так, в MacOS, кажется, тоже.


    1. sapient Автор
      23.12.2017 18:52

      Ух ты, таки да, сам работаю на 7-ке и 10-ке и даже не заметил. Кубик то на 7-ке стоит.


      1. staticlab
        23.12.2017 21:15

        Причём даже раньше можно было это поведение настроить.


        1. sapient Автор
          23.12.2017 23:02

          Посмотрел, сейчас тоже в 10-ке настраивается.


        1. AntonyMcGreen
          23.12.2017 23:03

          И сейчас можно. В Win 8.1: Панель управления — Язык — Дополнительные параметры — Переключение методов ввода — метод ввода для каждого приложения


        1. staticlab
          24.12.2017 01:36

          Спасибо, но я подразумевал, что настроить можно было даже раньше, а не только лишь в новых системах.


  1. robux
    23.12.2017 19:19

    У меня при включении русского загорается светодиод "ScrollLock" на клаве,
    при английском — выключается. Вдобавок флаг меняется в трее возле часиков.


    Но идея с кубиком тоже неплоха, да.


    1. Melnix
      23.12.2017 19:59

      В Linux Mint настроил аналогично, причем штатными средствами. В моем первом дистрибутиве ASP Linux 7.3 так по умолчанию было. Мне понравилось. Теперь всегда так настраиваю. Надо будет поискать, как в Windows подобное сделать можно.


      1. DmitryMry
        25.12.2017 10:15

        Насколько помню, делал с помощь какой-то утилитки. Но возникала проблема с некоторыми программами. Например, в Excel невозможно было пользоваться стрелками при включенном русском языке — вместо перемещения в соседнюю ячейку, сдвигался весь вид. Помучился несколько месяцев, затем перешёл на Caps Lock (объединённая раскладка клавиатуры, а не спец. утилита).


    1. linux_art
      23.12.2017 21:23

      У меня на каждом окне сверху справа возле кнопок флажок раскладки отображается :) Ещё удобнее (особенно когда в разных окнах разная раскладка). Xxkb сильно упрощает этим жизнь :)


  1. Jmann
    23.12.2017 19:31

    Девайс вроде кажется удобным(мое мнение). Я например не владею мастерством слепого набора текста и посматриваю на клавиатуру, как раз световая сигнализация может мне помочь узнать на какой я сейчас раскладке. Но… Я работаю в последнее время только на лэптопах и тут для меня лишний провод и девайс, в автозагрузке болтается прога работающая с VCP Arduino. К тому же подсветка может отвлекать, а порой и раздражать. Как вариант, реализовать вежливую(интим)-подсветку по датчику освещенности, ну и HC05 можно приконектить, а устройство сделать в виде какой-нить прищепки на монитор с семисегментным индикатором (меня понесло =)).


    1. sapient Автор
      23.12.2017 19:50

      HC05 можно, даже программу не нужно будет переписывать, он в системе как COM-порт виден. По поводу подсветка может раздражать — можно настроить под себя яркость каждого светодиода и даже менять яркость в зависимости от освещенности (добавив датчик освещенности). Но по опыту года использования скажу, что не раздражает абсолютно. Это на видео оно кажется ярко, на самом деле в глаза не светит, воспринимается просто как цветной кубик.


  1. voidptr0
    23.12.2017 19:32

    Ну, конечно, пользуюсь тремя языками под Mint. Но мне индикатора «Scroll Lock» — за глаза. Если где-то в «автоматическом» чет-нечет ошибся — просто вместо " ї " полезут " ъ ".


  1. Serge78rus
    23.12.2017 19:44
    +2

    if (Serial.available() > 0) {
        delay(100);
        inByte = Serial.read();
    

    Зачем здесь задержка?

        if (inByte == '2') { // RU
    //...
        } else if (inByte == '1') { // EN
    //...
        } else if (inByte == '3') { //UA
    //...
        }
    

    Для подобных вещей в C и C++ существует switch


    1. sapient Автор
      23.12.2017 19:57

      Давно это писалось, видимо был использован какой-то пример чтения порта, в данном случае не критично.
      Да, switch красивее будет.


  1. Mercury13
    23.12.2017 19:54

    По поводу переключения. Я сейчас использую Punto Switcher в ручном режиме: английский — LCtrl, русский — RCtrl. Так и хочется написать свою программу, чтобы работала с тремя языками — правда, вечный облом.


  1. acedece14
    23.12.2017 19:59

    Функции автоматического поиска порта. Это легко сделать, Arduino при старте будет посылать некий код, программа будет перебирать порты и остановиться в случае его прочтения.

    А если у меня в ком-порт гильотина или другой важный прибор без crc в протоколе обмена подключён? Плохой способ, проще получить из ОС список портов и их имена.


    1. sapient Автор
      23.12.2017 20:00

      Список портов и сейчас получаю. Т.е., если в системе только один порт — ничего и искать не нужно, в списке будет только один порт. По поводу имен — хорошая идея. А зачем Вам гильотина на компе? Или это не то, о чем я подумал? :-)


  1. LevaLeva
    23.12.2017 20:17

    Пару лет назад сдался и перешел на дефолтный Альт-Шифт. А так с девяностолохматого года правоверный досовский Кантрл-Шифт был.
    Но бог с ним. Десятка неимоверно бесит русским по-умолчанию. В 7 такого не было, чтобы я по три раза пароли набирал русским языком, переключив на английский. Что там творится — не знаю.

    Поэтому в тему бы яркий индикатор в углу с текущей раскладкой. Софтовый.

    А путнтосвитчер до сих пор переводит точку в «ю». Как можно не допилить алгоритмы, имея под рукой русскую клаву?


    1. sapient Автор
      23.12.2017 20:21

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


      1. ploop
        23.12.2017 20:39

        Софтофый, чтобы был заметен периферийным зрением, нужно большим делать

        Какой-нибудь яркий квадрат/круг поверх окон, до первого движения мышой или нажатия клавиши, до первой активности короче, чтобы не мешал.
        А так да, со стандартными индикаторами проблема.


    1. Olanonymous
      24.12.2017 03:30

      Десятка неимоверно бесит русским по-умолчанию.

      Это решаемо. Клик по индикатору раскладки ? Настройки языка ? Дополнительные параметры даты и времени ? Изменение способа ввода
      Здесь выстраиваем предпочтительный порядок переключения языков, самый первый — язык по умолчанию для только что открытого приложения. Устанавливаем в качестве первого английский.

      Тут же жмём ссылку Дополнительные параметры ? Применить языковые параметры к экрану приветствия, системным учетным записям и новым учетным записям пользователей ? Вкладка «Дополнительно», жмём «Копировать параметры», подтверждаем запрос UAC.

      Получаем английский по умолчанию, как для приложений так и запросов UAC, экрана входа — можно нормально набирать пароли, ничего не переключая. Бонусом, в эти экраны копируется метод переключения раскладки, больше никакого раздражения от того, что в системе установлен Ctrl+Shift, а системные диалоги вроде UAC требуют Alt+Shift.


  1. deniska2
    24.12.2017 02:11

    А для пингвина приложение есть/будет?


    1. sapient Автор
      24.12.2017 02:12

      Я точно не буду писать — больше по винде.


      1. stDistarik
        24.12.2017 02:53

        Здравствуйте. А исходник программы не покажите?


        1. sapient Автор
          24.12.2017 18:49

          Дайте в личку e-mail, отправлю.


  1. nathanael
    24.12.2017 03:35

    А есть такое решение чтобы раскладка высвечивалась прямо рядом с курсором?
    А то мне все эти индикаторы внизу на панели или диоды на клавиатуре не помогают, потому что я на курсор смотрю и не обращаю внимания на них – мне хоть завешай всё вокруг гигантскими световыми баннерами с языками я всё равно буду ошибаться иногда.
    Было бы удобно если бы в верхней части обычного курсора был маленький флажок или код раскладки (на MacOS).


    1. mistergrim
      24.12.2017 10:44

      Таковых полно (ввиду простоты реализации) — 
      https://everylang.net/ru
      http://www.amlpages.com/Rus/amlmaple.htm
      И им подобные.


    1. nick0x01
      24.12.2017 11:39

      habrahabr.ru/post/138940 (под Windows, вдруг кому будет полезно) — с кодом, который можно изменить под свои требования.


  1. mistergrim
    24.12.2017 10:46

    Использовать программы, которые переключают темы Windows – не каждому понравятся разноцветные панель задач или окна.

    А вот такой вариант я искал, и что-то не нашёл, буду благодарен, если кто-нибудь подскажет.


    1. sapient Автор
      24.12.2017 19:11

      На хабре уже было: habrahabr.ru/post/248919.


      1. mistergrim
        25.12.2017 02:10

        Это очень просто ищется. И, конечно же, на современной ОС (10) не работает.


  1. burivuh26
    24.12.2017 13:12

    На Windows настроил через Punto по левому/правому Ctrl (один — русский, второй — английский).
    на MacOS в High Sierra появилась возможность по капслоку переключать.


  1. SL_RU
    24.12.2017 13:36

    У меня клавиша ctrl переключает раскладку, клавиша CapsLk работает как контрол и светодиод капслока индицирует текущую раскладку(горит — рус, не горит — анг)


  1. bodqhrohro
    24.12.2017 13:56

    Использую LoloSwitcher. На LShift стоит US, на RShift — RU, на AltGr — UA. Перед вводом в определённой раскладке просто включаю её, не учитывая текущую. Переключение настолько удобное и ненавязчивое, что я уже даже знаки пунктуации, которые есть и на кириллических раскладках, ввожу в английской.


  1. igorp1024
    24.12.2017 14:16

    Интересно, что в Windows есть некоторая задержка после нажатия комбинации переключения языка

    Как же я ненавижу эту долбанную задержку. Причём она есть не только в винде, но и в убунте. Уже не знаю как там какой приоритет кому задать, чтобы этот переключатель работал как нужно.
    p.s. Извините, накипело.


    1. sapient Автор
      24.12.2017 19:13

      Я вот тоже всегда удивлялся этой задержке. В кубике выставил 100 миллисекунд — вполне комфортно, хотя можно было и меньше поставить.


  1. simplix
    24.12.2017 15:11

    Нюанс еще в том, что раскладка в операционной системе – это на самом деле раскладка на текущую программу, а не на все (не удивлюсь, если не все это замечали). Т.е, если сейчас активен Word c английской раскладкой, то, переключившись в браузер, там может быть другая раскладка.

    Не совсем так, система позволяет выбирать — использовать отдельную раскладку в каждой программе или глобальную, делается это в Панель управления\Часы, язык и регион\Язык\Дополнительные параметры\Переключение методов ввода (Win10).


    1. sapient Автор
      24.12.2017 19:15

      Да, выше уже об этом написано, я не знал, что в 10-ке это можно.


  1. luthers
    24.12.2017 19:18

    Можно оставить всего лишь один резистор — между катодом светодиода и пином GND.


  1. ver-sta
    24.12.2017 19:18

    Не обязательно раскладку выделять посредством зрительной информации. Как вариант использовать разный звук нажатий клавиш для разных раскладок. Эта опция есть в xneur (видимо и в punto).


    1. sapient Автор
      24.12.2017 19:20

      Лично меня такие звуки отвлекают. А если еще в офисе несколько рабочих мест? В этой какофонии никто ничего не разберет.


  1. soul32bit
    24.12.2017 21:58

    Прошу прощения, а зачем нужен микроконтроллер?

    По спецификации RS-232 логическая еденица это +3...15В, логический ноль это -3...15В (относительно земли). Значения токов не помню, но для зажигания светодиода хватает (причем с конкретным запасом). У нас есть два выхода, которые «статичны» — DTR и RTS. Таким образом подключив (через резистор) два встречно включенных светодиода (допустим красный и зеленый) к контакту «DTR» и «земле» мы получим индикацию двух языков — русский и английский. Ну а если кому мало — есть еще RTS.

    Еще раз прошу прощения, писал из любви в искусству :-)


    1. sumanai
      24.12.2017 22:02

      RS-232

      Осталось только найти его в ПК.


    1. sapient Автор
      24.12.2017 22:05

      Ну так все равно на ноутбуке COM-порта нет, напрямую не получится.

      А так запас на будущее, дальше можно:

      • подключить датчик освещенности для регулирования яркости светодиодов при разной освещенности;
      • оповещения о событиях миганием разных цветов (почта, комментарии и т.д.);
      • обратная связь: нажал на кубик — экран заблокировался (эмуляция WIN+L);
      • и другое.

      Делалось же из любви к Arduino :-)


    1. soul32bit
      25.12.2017 12:15

      Ох, слона то я и не заметил :-) Сам весь вечер удивлялся — неужели com-порт дожил до наших дней… Сорри, был невнимателен.


  1. dimaviolinist
    24.12.2017 22:05

    Я бы сделал на sn74hc595n или sn74hc164 (10 центов). Если нужен ещё ШИМ, то NE555 (5 центов). Не то, что бы ардуинка за 2,5 доллара напрягает бюджет, просто зажигать светодиодик процессором…
    Но это только мои закидоны, понимаю.


    1. sapient Автор
      27.12.2017 05:47

      Расскажите, как в этом варианте светодиодик будет управляться с ПК.


  1. helg1978
    27.12.2017 07:08

    что бы убрать задержку переключения в Windows надо отредактировать
    HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response\DelayBeforeAcceptance
    выставив 50 мс например