3

Что я хочу сделать (короткая часть поста)

Я хочу переключить левую и правую кнопку мыши на уровне драйвера.

То есть я хочу либо изменить, либо переопределить драйвер мыши, чтобы переключать левую и правую кнопки мыши в операционной системе Windows. (Решение должно работать с Windows 7 и выше.)

С какой стати я хочу это сделать (длинная часть поста)

терминология

Для краткости и ясности я собираюсь использовать следующие термины, выделенные жирным шрифтом :

  • левый - левая физическая кнопка мыши
  • правая правая физическая кнопка мыши
  • щелчок - сигнал, который обычно посылается, когда вы нажимаете влево, например, используется для выбора файла, нажатия кнопки, перетаскивания окна
  • menu - сигнал, который обычно посылается, когда вы нажимаете вправо, например, для открытия контекстного меню
  • Win-swap - панель управления Windows> Настройка мыши, при которой меню запускается слева и щелчок правой кнопкой мыши.

Эта проблема

Я левша. Я использую мышь левой рукой. Как обычный человек, я запускаю щелчок указательным пальцем, а меню - средним пальцем - это означает, что я использую правую кнопку мыши, а левую - меню. Обычно для этого достаточно Win-swap - и он работает для браузеров, офисного программного обеспечения, медиа-редакторов, программных IDE и тому подобного.

К сожалению, я тоже геймер. Из- за особенностей в том, как DirectX обрабатывает кнопки мыши, довольно много игр - независимо от того, являются ли они высокобюджетными выпусками или бесплатными для одного разработчика - игнорируют сигналы Win-swap и (AFAIK) чтения с уровня драйвера.

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

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

Решения, которые я пробовал

Я купил Razer Abyssus. Обе версии его драйверов настолько ужасно прослушиваются, что - чтобы включить левостороннее расположение кнопок - мне нужно настроить цепочку старых драйверов Abyssus - X-Mouse Button Control. Поскольку предполагается, что Razer является одним из лидеров периферийных устройств, связанных с играми, тот факт, что они не могут создавать драйверы с базовым уровнем удобства использования, заставляет меня опасаться вкладывать деньги и доверие в любую игровую мышь.

За последние 5 лет я попробовал около 8 различных приложений (включая демонстрацию платного программного обеспечения), которые должны были поменять местами кнопки. К сожалению, ни один из них не сработал - они были либо наложением пользовательского интерфейса для Win-swap, либо обмен был на еще более мелком уровне, чем Win-swap (D-Mouse).

Управление кнопками X-Mouse подошло ближе всего, но, к сожалению, на самом деле оно не перехватывает исходные сигналы, так что в итоге вы нажимаете любую кнопку мыши и меню .

Я также попробовал AutoHotKey, но простой макрос по типу

left::right
right::left

не работал, и сообщество было менее чем полезно. (Раньше форумы AHK заполнялись ответами RTFM.)

Возможные подводные камни

Как сообщается, ноутбуки определенной марки имеют настраиваемое меню мыши в панели управления, в котором Win-swap распространяется на уровень драйвера.


Заранее благодарю за любые ответы. Если вам нужны разъяснения / дополнительная информация, я смогу предоставить их в течение 24 часов.

3 ответа3

5

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

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

2

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

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

Конечно, он запускается в реальном окне, и, похоже, нет никакого способа, чтобы он автоматически запускался при запуске (или автоматически помечал каждую мышь как левую), изменял общесистемные драйверы, которые влияют на всех пользователей Windows (вместо один пользователь), но на самом деле это работает.

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

0

Замечательно ненадежный обходной путь для этой проблемы - использование следующего скрипта AutoHotKey (работает для AHK v1.1.24.02 и, возможно, ранее):

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

LButton::RButton
Rbutton::LButton

Это исправляет проблему для некоторых игр.

К сожалению, это не решение «серебряной пули» и его раздражает использование, поскольку оно требует, чтобы вы отключали WinSwap каждый раз, когда запускаете проблемную игру (и снова включаете его при выходе), потому что он практически ломает панель задач Windows, когда она активна ( что также делает его отключение немного хитрым).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .