MCP

среда, 22 апреля 2009 г.

Прокачиваем мышь

Давно я не писал тут, ну да ладно. Не до умных технических постов было. А тут появился повод.

Повод случился вчера, когда я решил поправить функциональность стандартных драйверов Майкрософта для мышки. Вообще, на это всё меня натолкнула программа моего коллеги Vista Keys Extender. Программа весьма интересная, наверняка кому-нить будет полезная, ибо позволяет управлять окнами с клавиатуры "как в семёрке".

Но я для управления окнами уже давно использую мышку. А именно, одну из боковых кнопок (которая по дефолту "Back") переназначаю на сворачивание окна. Весьма удобная вещь для меня, — посмотрел окно, мгновенно свернул, пошёл работать дальше. Очень полезно для всякой почты/миранды и прочего, чего не требуется для постоянной работы, а является своего рода "попапами".

В стандартных драйверах мне сильно не нравились две вещи:

  • Сворачивается активное окно, а не то, над которым мышка
  • Проблемы с программами, написанными на Delphi (там очень оригинальная концепция окон, из-за чего они сворачиваются совершенно безумно, как MDI).

Это я поправил, повесив собственный хук на нажатие данной кнопки, а дальше задумался. Собственно, почему кнопки мыши практически не используются как модификаторы? Т.е. нажатие одной, за редкими исключениями никак не влияет на другую? Дальше пошёл креатив, и появились следующие комбинации, начинающиеся с того, что нужно нажать четвёртую кнопку, и:

  • Отпустить: свернётся окно, находящееся под курсором
  • Покрутить колесо вниз: развёрнутое окно станет нормальным, нормальное — свернётся.
  • Покрутить колесо вверх: нормальное — развёрнется. Логично продолжить про свёрнутое, но его ведь нет . Так что нечему разворачиваться. Хотя в определённых ситуациях всё будет. Я постарался.
  • Нажать правую кнопку: свернутся все окна
  • Нажать левую: закроется текущее
  • Нажать среднюю: компьютер заблокируется

Дальше я ещё не придумал, завёл практически всё что можно на данную функцию. Конечно, остался ещё горизонтальный скроллинг, который можно завести на сдвиг окон, но он встроен только в Висту. А в XP он эмулируется драйверами. Т.е. работать будет не везде. Правда лучше чем ничего, надо будет это ещё обдумать.  

К чему я написал весь этот пост? Ну конечно же, похвастаться, как же без этого. Но также хочу обратить внимание на то, что была бы идея, а реализовать её можно просто и получить от этого удовольствие и удобство. Да и то, что мышка совершенно не используется по максимуму. На всё это у меня ушло всего пара часов, не больше. Часть времени при этом я просто потратил на идеи, а не на написание кода. Но за два часа сделать полезную, хотя бы для себя, вещь — это уже хорошо.


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

2 комментария:

  1. Ты всегда был креативным кодером, браво :)
    Идея очень понравилась, можно ещё сделать некое подобие жестов в опере - они очень быстро и удобно делаются.. то есть я про те, где зажал правую и повёл мышку влево/вправо/вверх/вниз.

    ОтветитьУдалить
  2. Думал про Gesture, но тогда программа станет слишком монструозной или же слишком не приспособленной для реальной жизни. Да и вообще, для gestur'ов уже есть специальные хорошие программы, зачем изобретать велосипед. :)

    ОтветитьУдалить