С момента написания предыдущего поста Putno Fixer немного улучшился. Если Вам интересен простой функционал, когда по нажатию Pause исправляется раскладка клавиатуры для одного последнего набранного слова, то Вы можете сейчас помочь мне с тестированием. Что было улучшено:
+ более точно определены клавиши, которые могли быть использованы для набора слова, против тех, которые должны обнулить буфер;
+ добавлено ограничение на запуск программы только один раз;
+ добавлено автоопределение комбинации клавиш для смены раскладки... но оказалось, что файл при этом увеличивается на 35 КБ, что не очень круто. В итоге в репозитории собраны сейчас три 64-битные версии: 1) с автоопределением; 2) без автоопределения под Alt+Shift; 3) без автоопределения под Ctrl+Shift.
Что предстоит сделать:
! Исправление выделенного фрагмента по сочетанию Shift+Pause. Тут всё осложнено тем, что это, судя по всему, должно делаться через буфер обмена, иначе работать будет очень мало где (типа так: Ctrl+C, исправили и Ctrl+V). Это вызывает два осложнения: 1) нужно обвязывать функцию бэкапом и рестором буфера обмена, ведь его потеря для пользователя может стать неприятным сюрпризом; 2) очень хочется обойтись без определения языка, ведь привязка к любому конкретному языку убивает универсальность программы. Пока вырисовывается пара идей, как можно попытаться реализовать это... довольно громоздко, увы (свой невидимый input, имитация нажатия клавиш и заполнение таблиц, с привязкой к числу используемых раскладок). Подумаю ещё... Пишите, буду рад любым комментариям.
Скачать/посмотреть: https://github.com/kay27/putno/