Введение
Automatic mouse switcher состоит из двух приложений, написанных с использованием библиотеки Qt4:
- Фоновый процесс amswitcher.exe - фоновый процесс, отвечающий за переключение
настроек скорости перемещения курсора мыши, в зависимости от наличия устройств
типа "мышь" (например тачпад или внешняя мышь). Каждый раз, когда происходит переключение мыши,
в трее появляется иконка приложения и всплывающее напоминание, отображающее имя нового
активного устройства. Иконка отображается в трее только во время показа напоминания.
- Программа конфигурации ams_config.exe - графическое приложение, позволяющее
настроить список устройств, для которых будет осуществляться переключение скорости перемещения
курсора мыши, а также задать эту скорость отдельно для каждого устройства. После настройки
скорости и списка устройств, фоновый процесс настроится на работу с новой конфигурацией в течение
короткого времени, обычно около 1 минуты. Программа конфигурации необходима лишь для изменения
настроек - автоматическое переключение скорости выполняется независимо от того, запущена ли
программа конфигурации.
Если Вы следовали сценарию установки приложения "по умолчанию", то фоновый процесс amswitcher.exe
должен быть запущен после установки, а также должно открыться окно конфигурации.
Также должна быть произведена настройка системы для данного пользователя, чтобы фоновый
процесс amswitcher.exe автоматически запускался и завершался при входе и выходе данного пользователя.
Вы всегда можете проверить, что фоновый процесс запущен, с помощью Менеджера Задач Windows, который
запускается по нажатию комбинации клавиш Ctrl+Shift+Esc. В списке приложений должен
присутствовать процесс amswitcher.exe, запущенный из-под текущего пользователя.
Вы всегда можете проверить, что фоновый процесс будет запущен при входе пользователя,
а также можете включить или выключить его автоматический запуск, с помощью программы конфигурации
ams_config.exe.
Не забывайте нажимать кнопку Save для сохранения внесённых изменений в настройки.
Информация для продвинутых пользователей - запуск фонового процесса прописан в реестре в ключе
HKCU/Software/Microsoft/Windows/CurrentVersion/Run/Automatic Mouse Switcher.
Установка
В большинстве случаев, рекомендуется выполнить установку с настройками по умолчанию. Однако
Вы также можете установить лишь те компоненты, которые считаете нужным, а также позднее изменить
установленные компоненты через службу установки и удаления программ.
В случае, если по каким-либо причинам Вы не установите библиотеки из пакета, то, для работы
приложения, Вы должны включить место размещения требуемых библиотечных файлов в переменную
окружения PATH, или иным способов гарантировать подключение библиотечных файлов.
Ниже приведён краткий обзор экранов установки и выделены основные компоненты, на которые
следует обратить внимание:
Настройка
Для конфигурации automatic mouse switcher следует выполнить следующие шаги:
- Запустите программу конфигурации - ярлык для запуска программы Вы можете найти
в меню приложений. Кроме того, Вы можете запустить программу конфигурации ams_config.exe
прямо с диска. Также программа конфигурации может быть автоматически запущена после завершения
установки.
После запуска программы конфигурации Вы увидите следующее окно приложения:
Окно программы конфигурации состоит из двух основных списков - списка устройств, для которых
Вами были назначены настройки скорости перемещения курсора, а также списка устройств, которые
в данный момент присутствуют в системе. При этом отображаются только устройства типа "мышь".
В случае если Вы подключите или отключите устройство, список подключённых устройств автоматически
изменится.
Пожалуйста, обратите внимание на кнопочку ? в заголовке окна программы, которая позволяет
получить информацию о каждом элементе интерфейса.
- Добавьте устройства в список настроенных - выберите нужные устройства из списка
подключённых и добавьте их по одному в список настроенных устройств с помощью кнопки
Configure existing. Нельзя добавить устройство в список настроенных несколько раз.
По мере того, как Вы добавляете устройства, они будут отражаться в списке настроенных устройств
сверху. Каждое добавленное устройство по умолчанию принимает текущие системные настройки скорости
перемещения курсора мыши; Вы сможете изменить настройки позднее.
Обратите внимание, что устройства не исчезают из списка настроенных при отключении физического
устройства. Однако Вы можете добавить в список настроенных только те устройства, которые подключены
в данный момент.
Если Вы случайно добавили устройство в список настроенных, и хотите его удалить оттуда, Вы
можете сделать это, выделив устройство в списке настроенных и нажав кнопку Remove configured.
В общем случае, Вам следует добавлять конфигурацию только для тех устройств, которыми Вы
планируете пользоваться, и которые отражают физические внешние устройства. В данном примере
добавлены беспроводная мышь HID-compliant mouse и тачпад
Synaptics PS/2 Port TouchPad.
Обратите внимание, что устройство Default mouse всегда присутствует в списке настроенных,
и его нельзя удалить.
- Расположите устройства по приоритету - когда фоновый процесс обнаруживает
подключение или отключение устройства, он выбирает из подключённых то устройство,
которое находится выше в списке настроенных. Вы можете изменить приоритет устройств, переместив
их вверх или вниз по списку настроенных, используя кнопки Up и Down.
В общем случае, Вам следует расположить внешние отключаемые устройства (например,
USB-мышь) с бОльшим приоритетом, чем встроенные (например, тачпад). В данном примере внешняя
беспроводная мышь HID-compliant mouse была помещена перед тачпадом
Synaptics PS/2 Port TouchPad. Таким образом, при отключённой мыши будут использоваться
настройки для тачпада, а при её подключение - настройки для мыши.
Обратите внимание, что устройство Default mouse всегда находится последним в
списке настроенных. Таким образом, настройки "по умолчанию" будут использованы только в
том случае, если нет никаких других устройств.
В данном примере конфигурация Default mouse никогда не будет использована, так
как устройство Synaptics PS/2 Port TouchPad всегда присутствует в системе. Хотя можно
было бы удалить конфигурацию для Synaptics PS/2 Port TouchPad и настроить
Default mouse, это приведет к тому, что во всплывающем уведомлении будет отображено
устройство Default mouse, а не Synaptics PS/2 Port TouchPad, что нежелательно.
- Установите желаемую скорость перемещения курсора для каждого устройства -
откройте окно настройки скорости перемещения курсора мыши, нажав на кнопку
Go to mouse config.
В открывшемся системном окне Вы можете настроить и сразу же попробовать скорость
перемещения курсора мыши.
Когда Вы настроите желаемую скорость перемещения курсора мыши, нажмите кнопку Apply
или OK чтобы сохранить настройки скорости перемещения курсора мыши как системные.
Затем выберите устройство из списка настроенных, для которого Вы хотите запомнить
скорость перемещения курсора мыши, и нажмите кнопку Use current config.
Обратите внимание, что кнопка Use current config сохраняет текущие системные
настройки скорости перемещения курсора мыши. Поэтому, после изменения системных настроек
скорости перемещения курсора мыши, Вы должны эти настройки применить к системе, и лишь
затем назначить их для конкретного устройства. Это позволяет использовать системный интерфейс
для настройки скорости мыши, что обеспечивает большую совместимость приложения с разными
версиями операционной системы.
- Присвойте понятные имена устройствам - так как некоторые устройства имеют
не всегда понятные системные имена, рекомендуется их переименовать. Для этого нужно
дважды кликнуть по имени устройства в списке настроенных.
Имя, которое Вы назначите устройству, будет отображаться во всплывающем уведомлении
при изменении настроек скорости перемещения курсора мыши фоновым процессом.
Обратите внимание, что Вы в списке подключённых устройств всегда показывается реальное
имя устройства, даже если оно входит в список настроенных и было переименовано. Это
ожидаемое поведение и не является ошибкой. Для сопоставления устройств из двух
списков следует сравнить их уникальные идентификаторы из второй колонки.
В данном примере было переименовано устройство с непонятным именем
HID-compliant mouse на Bluetooth mouse, что отражает природу устройства.
- Сохраните или отмените изменения - все изменения в настройках, которые Вы
делаете в программе конфигурации, не будут учитываться фоновым процессом, пока Вы их
не сохраните. Для сохранения настроек нажмите кнопку Save, для их отмены
нажмите Close. Сохранённые настройки будут обработаны фоновым процессом
спустя небольшой интервал времени, обычно до 1 минуты.
Кнопки Save и Close также закрывают программу конфигурации.
Если Вы хотите отменить все сделанные изменения и обновить списки устройств,
не закрывая при этом программу конфигурации, нажмите кнопку Refresh.
Обратите внимание, что список подключённых устройств обновляется автоматически
и не требует нажатия этой кнопки.
- Попробуйте - завершив настройку и сохранив изменения, подождите небольшое
время, обычно около 1 минуты, чтобы фоновый процесс обработал внесённые изменения.
Отключайте и подключайте устройства чтобы проверить, что выбирается именно то устройство,
которым Вам удобнее пользоваться в данной конфигурации.
Каждый раз, когда фоновый процесс обнаруживает подключение или отключение устройства,
а также изменение настроек устройств, он выбирает наиболее приоритетное настроенное устройство
и делает его активным. При этом изменяются настройки скорости перемещения курсора мыши, и
отображается всплывающее напоминание. В случае, если ни одного настроенного устройства
не оказалось среди подключённых, будут использованы настройки устройства "по умолчанию"
Default mouse.
Настройки хранятся в системном реестре независимо для каждого пользователя компьютера.
Дополнительные настройки
В дополнение к настройкам, указанным выше, Вы можете изменить некоторые дополнительные параметры
непосредственно в реестре. Такие изменения могут потребовать перезапуска фонового процесса
amswitcher.exe.
Вы можете добавить или изменить значения в реестре, расположенные в
HKCU(HKLM)/Software/Automatic Mouse Switcher/Automatic Mouse Switcher
- BalloonShowTimeout [DWORD] - длительность показа всплывающего уведомления,
в миллисекундах.
- BalloonHideTimeout [DWORD] - максимальное время, спустя которое
всплывающее уведомление будет убрано, в миллисекундах. Это "аварийный" таймаут, который
убирает всплывающее уведомление, если по какой-либо причине оно не было корректно
убрано системой.
- BalloonActivateTimeout [DWORD] - максимальное время, в течение которого
всплывающее уведомление должно быть показано системой, в миллисекундах. Это "аварийный"
таумаут, который убирает иконку из трея, если по какой-либо причине уведомление не было
показано.
- DeviceChangedEventDelay [DWORD] - задержка между получением сообщения
об изменении списка подключённых устройства и выбором нового активного устройства,
в миллисекундах. Эта задержка связана с тем, что при подключении, например, контроллера
Bluetooth, системой сразу обнаруживается существенное количество устройств, которые практически
сразу пропадают. Таким образом, данная задержка снижает нагрузку на ЦП, а также уменьшает
"дребезг" при переключении. По умолчанию задержка составляет 100 миллисекунд, что является
компромиссом между быстрым переключением между устройствами и высокой стабильностью
переключения.
- ConfigRescanTimeout [DWORD] - период проверки фоновым процессом изменений
в реестре, внесённых программой конфигурации, в миллисекундах. По умолчанию задержка составляет
1 минуту, что является компромиссом между быстрым обновлением изменений между программой
конфигурации и низкой нагрузкой на ЦП.