Дело было вечером, делать было…

Nov 05, 2018 14:44

За две недели до защиты диплома выходит из строя жёсткий диск. В облаке ничего не сохранял. Первая мысль: «Хорошо, что я ещё не начал писать диплом».Из воспоминаний.
Я пишу рассказ для журнала «Мю Цефея», выбранная тема - капризы погоды, срок - до 25-го, фабула - трудности предсказания изменений погоды в краткосрочной перспективе при помощи обычных пророков. Я пытаюсь ответить на вопрос, возможно ли хотя бы так повысить точность вышеупомянутых прогнозов. По сюжету получается, что... Впрочем, не буду забегать вперёд.

Суть в том, что я не хочу ради всего лишь текстового редактора включать свой основной капутер с Виндой, о трёх экранах. Включаю маленький компьютер с Haiku OS. Он и электричества потребляет в три раза меньше, и у меня не возникает позывов отвлечься от текста в пользу какой-нибудь игры. (Ну, по крайней мере, пока что я держусь и не устанавливаю себе на Haiku свежепортированные «Serious Sam» и «Half Life», мне хватает «Принца Персии»). Вот и вчера сел за клавиатуру, на заднем плане играет музончик с Plex server`а, Юра Хой бодро шпилит «Чёрного вурдалака»… Я открываю текстовый редактор, однако понимаю, что звук громковат, и тянусь его приглушить…

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

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

В общем, теперь у меня есть самопальная тулза, которая умеет воспринять код нераспознаваемой клавиши с клавиатуры и выполнить по нему какое-нибудь полезное действие, одно или несколько. Изменить громкость. Или вообще отключить звук. Или открыть какую-нибудь программу. Или файл. Или выполнить команду в командной строке. Запускаемой программой может быть shell-скрипт, поэтому, в принципе, на одну клавишу можно повесить неограниченное количество действий. Учитывая широкие возможности взаимодействия с элементами интерфейса из командной строки (привет, команда «hey»!), возможности, в принципе, неограниченны. И я понимаю, что нажатие клавиши с модификатором типа Shift`а, левого, правого или любого, вовсе не то же самое, что нажатие клавиши без модификатора, и действия на эти нажатия можно повесить разные… Вот как заставить по нажатию кнопки выбрасывать лоток CD-ROM`а, я пока не разобрался, но и это тоже, я уверен, можно сделать. И регулятор Zoom`а, расположенный в центре Microsoft Natural Ergonomic Keyboard 4000, пока не работает как Zoom, он пока вообще никак не

Получился такой очень свободный конфигуратор макрокоманд для клавиатуры. Для любой клавиатуры, и даже, возможно, не только для клавиатуры, лишь бы устройство выдавало что-то, что распознаётся input_server`ом как нажатая клавиша. Геймерам понравится. Осталось причесать, оптимизировать код, написать нормальный UI (одно это займёт недели две), отладить (я всё-таки в input_server лезу своими кривыми ручками, напутаю что-нибудь - клавиши вообще нажиматься перестанут, боязно мне), сделать настройки, повесить репликант в Deskbar tray, чтобы можно было включать и отключать тулзу на лету по желанию, - и можно выпускать в свободное плавание.

А рассказ так и не удлинился ни на одну букву.

я, funny, beos, рассказ, computer

Previous post Next post
Up