Re[3]: Ищу мышь, да не простую
От: andrey.desman  
Дата: 10.04.16 15:26
Оценка: 4 (1)
Здравствуйте, CaptainFlint, Вы писали:

CF>Игровые мыши, если не ошибаюсь, у Logitech работают не с SetPoint, а с GamingSoftware или как-то так? Я слышал, он почему-то более ограниченный по возможностям, чем SetPoint.

CF>Если не затруднит, попробуйте, пожалуйста. Не обязательно именно F13, подойдёт любая виртуальная клавиша, которой физически не существует на клавиатуре (то есть которую невозможно выбрать методом "то, куда я сейчас тыкну") и которую можно перехватывать через RegisterHotKey().

Таки добрался я до винды.

Итак, замапить кнопку в память мыши мне не удалось, но я особо не пытался. С помощью WSH-скрипта делал sleep(10000); SendKeys("<F13>");, а потом переключался на LGS, но он это нажатие не ловил. Не ловил он и любые другие кнопки сэмулированные таким образом. Если все же как-то удастся программно нажать кнопку, то возможно LGS ее примет и сохранит в память мыши. Тогда сам LGS можно будет удалить.

Если же полагаться на работающий LGS, то такой простенький LUA-скрипт делает свое дело:

function OnEvent(event, arg)
   if (event == "MOUSE_BUTTON_PRESSED" and arg == 20) then   -- G20 has been pressed
      PressKey("f15");
   end
   if (event == "MOUSE_BUTTON_RELEASED" and arg == 20) then   -- G20 has been released
      ReleaseKey("f15");
   end
end


Тестовый вывод с сайта http://unixpapa.com/js/testkey.html

keydown  keyCode=126 (~)   which=126 (~)   charCode=0        
         shiftKey=false ctrlKey=false altKey=false metaKey=false
         key=F15 char=undefined location=0 repeat=false
keyup    keyCode=126 (~)   which=126 (~)   charCode=0        
         shiftKey=false ctrlKey=false altKey=false metaKey=false
         key=F15 char=undefined location=0 repeat=false


В принципе, можно заскриптовать так, что и программа отдельная не понадобится. И/или не обязательно эмулировать какие-то нажатия клавиатурных кнопок, а напрямую запускать какую-то прогу.
Re: Ищу мышь, да не простую
От: velkin Земля  
Дата: 29.03.16 10:26
Оценка: +1
Здравствуйте, CaptainFlint, Вы писали:

CF>У кого какие мыши, расскажите, пожалуйста, где можно найти аналогичную функциональность по настройке клавишных действий.


Из беспроводных наборов клавиатура+мышь сами мыши Logitech M310, работают месяцами до смены батарейки или зарядки аккумулятора. Игровая Logitech G700s, только для правой руки, так же беспроводная, без шнура работает недолго и это её самый большой недостаток, на клавиши можно навесить много чего. В целом же Logitech менять на другие мыши не намерен, на рынке нет вменяемых аналогов этой фирме.


Re: Ищу мышь, да не простую
От: Sinix  
Дата: 29.03.16 10:39
Оценка: +1
Здравствуйте, CaptainFlint, Вы писали:

CF>Вроде, сейчас входит в моду инерционная прокрутка, но мне она некомфортна. Поэтому нужна либо только щелчковая, либо с переключением режима (и сохранением оного при перезагрузке-выключении-сне).

Вот тут у логитека есть два варианта мышей:
1. правильный — переключение режима скролла кнопкой под колёсиком, средняя кнопка как на обычных мышах.
2. и наркоманский — вместо средней кнопки переключение скролла, средняя кнопка за колёсиком. Вот его не брать ни при каком раскладе.

Просто инерционный без щелчков вообще — такого по-моему нигде нет, это ж ужас-ужас


CF>* Наличие кнопок: Back/Forward плюс как минимум одна вспомогательная, произвольно программируемая; если эта вспомогательная является единственной кнопкой, управляющей переключением каких-либо уникальных режимов работы самой мыши, то нужна другая кнопка, "свободная".

Почти у всех, в отборе на яндексмаркете ставим 6 кнопок и больше.

CF>У кого какие мыши, расскажите, пожалуйста, где можно найти аналогичную функциональность по настройке клавишных действий.

У A4tech было, если не смущает раз в два-три года мышь выбрасывать и покупать новую.

По всем требованиям почти подходит logitech marathon, она проводная, но на батарейке живёт несколько лет.
Главный недостаток: сенсор мыши смещён вбок, мне было слегка непривычно, но знаю людей, которых это бесит до невозможности.

Я б ещё добавил к запросам качающееся влево-вправо колёсико с навешиванием на него Ctrl-C/Ctrl-V. Время экономит неимоверно.
Re[2]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 11:41
Оценка: +1
Здравствуйте, Sinix, Вы писали:

CF>>Вроде, сейчас входит в моду инерционная прокрутка, но мне она некомфортна. Поэтому нужна либо только щелчковая, либо с переключением режима (и сохранением оного при перезагрузке-выключении-сне).

S>Вот тут у логитека есть два варианта мышей:
S>1. правильный — переключение режима скролла кнопкой под колёсиком, средняя кнопка как на обычных мышах.
S>2. и наркоманский — вместо средней кнопки переключение скролла, средняя кнопка за колёсиком. Вот его не брать ни при каком раскладе.

Жуть какая… Спасибо, что предупредили, и в голову бы не пришло.

CF>>* Наличие кнопок: Back/Forward плюс как минимум одна вспомогательная, произвольно программируемая; если эта вспомогательная является единственной кнопкой, управляющей переключением каких-либо уникальных режимов работы самой мыши, то нужна другая кнопка, "свободная".

S>Почти у всех, в отборе на яндексмаркете ставим 6 кнопок и больше.

Найти 6 кнопок не проблема. Проблема узнать, какие из этих кнопок программируемые, в какой степени они программируемые, а также что именно считается за кнопки (видел обзоры, где за две кнопки считался обычный скролл колёсиком вверх-вниз).

CF>>У кого какие мыши, расскажите, пожалуйста, где можно найти аналогичную функциональность по настройке клавишных действий.

S>У A4tech было, если не смущает раз в два-три года мышь выбрасывать и покупать новую.

Нет, про A4Tech наслышан, не хочу поощрять барахло своими деньгами. Да даже из прагматических соображений: можно было бы пользоваться барахлом, регулярно меняя, но только если бы одна и та же модель поддерживалась и производилась в течение лет 10-15. А то одну выкину — новая-то будет совсем другой, у маркетологов шило никто так и не удосужился вынуть. Заново привыкать к новой манере движения курсора, к новой форме, новым кнопкам… Это для меня тяжело. Не покупать же двадцать одинаковых мышей про запас… Хотя, если б знал, что так дело обернётся, пару-тройку MX518, пожалуй, прикупил бы.

S>По всем требованиям почти подходит logitech marathon, она проводная, но на батарейке живёт несколько лет.

S>Главный недостаток: сенсор мыши смещён вбок, мне было слегка непривычно, но знаю людей, которых это бесит до невозможности.

Судя по фотографии, она является точным функциональным аналогом M500, то есть, кнопка над колёсиком не программируется, а других доп. кнопок там нет (кроме вперёд-назад). Мне это не подходит.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re: Ищу мышь, да не простую
От: Mr.Delphist  
Дата: 29.03.16 17:46
Оценка: +1
Здравствуйте, CaptainFlint, Вы писали:

CF>* Малая высота отрыва от поверхности, при которой прекращается трекинг.

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

Погодите, Вам приходится физически переставлять мышь несколько раз, чтобы перевести курсор от одного края экрана к другому, т.к. ширины коврика не хватает? Если да, то это явно беда с настройкой мышиной чувствительности (Панель Управления, настройки мыши, третья закладка — ставим скорость на максималку, включаем галку "повышенная точность" и перемещаем мышку резкими рывками). У меня на работе простейшая логитековская M100, но даже она спокойно скачет через два дисплея по 1920 пикселей при физическом перемещении мыши по столу не более 5 см.
Re[2]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 18:14
Оценка: +1
Здравствуйте, Mr.Delphist, Вы писали:

CF>>* Малая высота отрыва от поверхности, при которой прекращается трекинг.

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

MD>Погодите, Вам приходится физически переставлять мышь несколько раз, чтобы перевести курсор от одного края экрана к другому, т.к. ширины коврика не хватает? Если да, то это явно беда с настройкой мышиной чувствительности (Панель Управления, настройки мыши, третья закладка — ставим скорость на максималку, включаем галку "повышенная точность" и перемещаем мышку резкими рывками). У меня на работе простейшая логитековская M100, но даже она спокойно скачет через два дисплея по 1920 пикселей при физическом перемещении мыши по столу не более 5 см.


Во-первых, кто говорил про "несколько раз"? Во-вторых, кто говорил, что не хватает коврика для перемещения от края до края?
Поверьте, никакой "беды с настройкой мышиной чувствительности" у меня нет. Чувствительность мыши у меня настроена ровно на такие значения, какие мне удобны. И я не собираюсь менять их на неудобные исключительно ради того, чтобы уменьшить число перекидываний мыши (каковое число при текущих настройках меня также полностью устраивает).

Если вам так уж сильно интересно, почему мне вообще приходится перемещать мышь по воздуху, то:
1) в процессе работы, благодаря такой функции как ускорение, взаимное местоположение мыши в центре коврика и курсора в центре экрана постепенно сбивается (когда в одну сторону веду быстро, в другую — медленно);
2) в играх движение мыши управляет поворотом и, следовательно, не ограничивается ведением курсора по экрану, разворот на 180 градусов может требовать большего расстояния пробега, чем ширина коврика (опять же, зависит от чувствительности, которую я настраиваю по удобству управления в игре, а не пропорционально ширине коврика);
3) даже при условии наличия достаточного пространства на коврике, может получиться так, что требуется выполнить несколько действий в одной околокраевой области экрана, и в этом случае зачастую гораздо удобнее перекинуть мышь так, чтобы положение курсора в этой области соответствовало положению мыши в центре коврика, потому что рука тогда находится в кофмортном "нейтральном" положении, а не вывернута в сторону.

Я полагал, что это очевидные особенности работы с манипулятором под названием "мышь"… В любом случае, если у кого-то ситуация отличается, пожалуйста, работайте, как вам удобно и привычно. А я ищу мышь под свои потребности.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[3]: Ковёр не нужен
От: akasoft Россия  
Дата: 30.03.16 09:18
Оценка: +1
Здравствуйте, CaptainFlint, Вы писали:

CF>Я полагал, что это очевидные особенности работы с манипулятором под названием "мышь"…


Хм.. Я полагал, что в 2016 году уж всяко ковры не нужны. У меня в далёком 2007 была уже лазерная мышь, которая ездила по любой поверхности нормально, хоть по столу, хоть по покрывалу на кровати. Инерционность, кнчн, актуальна, как и потребность "грести мышью" в играх, тут согласен. Но ковры..

У меня какое-то время разжалованный ковёр служил подставкой под чай и кофе.
... << RSDN@Home 1.2.0 alpha 5 rev. 66>>
Re[4]: Ковёр не нужен
От: SkyDance Земля  
Дата: 31.03.16 01:25
Оценка: +1
A>Хм.. Я полагал, что в 2016 году уж всяко ковры не нужны.

Не нужны в плане "нет необходимости".
Но нужны, если хочется удобнее. Пара примеров — Razer Sphex, это даже не ковёр, а просто тоненькая пластиковая накладка. Намного удобнее, чем по любой другой поверхности. Заодно удобно в качестве "мышь должна лежать здесь".

Дома пользуюсь каким-то алюминиевым от Razer, двухсторонним. Мне его подарили, поэтому название не помню (Vespula, что ли). Чертовски удобная штука. С двумя поверхностями разного покрытия. Можно чтоб легче скользило, можно чтоб точнее позиционировалось. Плюс подставка для запястья. Короче, рекомендую.
Re[3]: Ищу мышь, да не простую
От: SkyDance Земля  
Дата: 31.03.16 01:26
Оценка: +1
CF>Игровые мыши, если не ошибаюсь, у Logitech работают не с SetPoint, а с GamingSoftware или как-то так? Я слышал, он почему-то более ограниченный по возможностям, чем SetPoint.

IMHO наоборот.
Плюс LGS и игровых мышей — они могут загружать профили прямо в память мышки. И потом можно работать вообще без LGS и прочих SetPoint. Просто взял мышку, принёс куда тебе нравится, и все настройки сохранились. Можно использовать свою мышь с разными компьютерами, и, опять же, все настройки будут на месте. Скажем, можно настроить кнопки 6-7 на Copy-Paste, и пользоваться.
Re[2]: Ищу мышь, да не простую
От: SkyDance Земля  
Дата: 31.03.16 01:27
Оценка: +1
__>A4 Bloody семейство от V3 до V7 — отличаются внешними размерами

Хороши в плане железа и неплохи софтом, но надёжность — это нечто.

Большой плюс Logitech — длинная фирменная гарантия и замена безо всяких вопросоов.
Re[4]: Ищу мышь, да не простую
От: SkyDance Земля  
Дата: 31.03.16 22:08
Оценка: +1
__>А что не так? У меня только микрик в левой кнопке сломался.

Микрики дохнут у всех. Однако А4 не заменяет мышку со сдохшим микриком, а Логитек — меняет, причем без вопросов. У меня микрики ломаются в среднем раз в 2 года интенсивного использования (ну тут еще сын "помогает", не спорю).

Но еще на этих "Блади" быстро облезает покрытие, очень быстро стираются ножки (и начинаются рывки при движении курсора), подглючивает клик колеса прокрутки. В общем, оно вроде бы всё работает, но как в старых "жигулях". Хотя сами мышки, повторюсь, мне очень даже нравятся. Им бы еще хороший беспроводной интерфейс, как у Logitech G700 (IMHO лучшая мышка у Логитек, жаль батарейку быстро жрёт).
Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 10:13
Оценка:
Начинает дохнуть Logitech MX518, служившая верой и правдой много лет. Хочу выбрать себе новую мышку, но имею к ней очень нестандартные требования. Прошу помощи зала.

* Обязательно проводная.
Необходимость постоянно следить за зарядом, ставить на зарядку или менять батарейки меня напрягает гораздо больше, чем провод.

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

* Колёсико с "щелчковой" прокруткой.
Вроде, сейчас входит в моду инерционная прокрутка, но мне она некомфортна. Поэтому нужна либо только щелчковая, либо с переключением режима (и сохранением оного при перезагрузке-выключении-сне).

* Наличие кнопок: Back/Forward плюс как минимум одна вспомогательная, произвольно программируемая; если эта вспомогательная является единственной кнопкой, управляющей переключением каких-либо уникальных режимов работы самой мыши, то нужна другая кнопка, "свободная".
Этот пункт самый нестандартный. Дело в том, что на MX310 (которая у меня была раньше) и MX518 над колёсиком имеется маленькая кнопка-пумпочка. При помощи небольшого хака я смог навесить в SetPoint (управляющий софт от Logitech) на эту кнопку эмуляцию нажатия клавиши F13, не существующей у меня на клавиатуре, а само это нажатие затем обрабатывается отдельной висящей в фоне самописной программой для быстрого переключения между двумя последними окнами (а-ля Alt+Tab). За годы использования намертво подсел на эту функцию, без неё теперь не могу.

Когда-то, начитавшись восторженных отзывов о конфигурируемости Razer, купил себе одну из их мышей. В целом неплохая была, но навесить несуществующую клавишу (или, скажем, послать виндовое сообщение в другую программу) в их софте у меня не получилось. Важно, что навешивать надо именно несуществующую клавишу, потому что все существующие так или иначе используются в разных программах, и мне вовсе не улыбается вместо переключения окон случайно получить вызов какой-нибудь команды меню. Можно было навесить запуск произвольной программы, но по сравнению с фоновой обработкой это оказалось ощутимо тормознее, да ещё и сильно зависит от текущей нагрузки на диск. В итоге мышь пришлось продать и вернуться на Logitech, где конфиги хранятся в XML и нужный код клавиши можно прописать прямо туда.

На сегодняшний день у самой Logitech уже ничего похожего на MX518 на сайте нет, самая близкая модель — M500, однако хоть там и есть кнопочка над колёсиком, эта кнопка вообще никак не программируется, а жёстко завязана на переключение режимов колёсика (если верить обзорам), поэтому не подходит. С мышами (и, соответственно, софтом) других мышепроизводящих компаний я дела практически не имел. У кого какие мыши, расскажите, пожалуйста, где можно найти аналогичную функциональность по настройке клавишных действий.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[3]: Ищу мышь, да не простую
От: Sinix  
Дата: 29.03.16 13:09
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Судя по фотографии, она является точным функциональным аналогом M500, то есть, кнопка над колёсиком не программируется, а других доп. кнопок там нет (кроме вперёд-назад). Мне это не подходит.


Кроме основных кнопок настраивается качание колёсика влево/вправо + ещё одна кнопка прям под большим пальцем, как в MX performance. Но она мягко говоря не очень удобно нажимается и с этим ничего не поделаешь. Большой палец на чёткие разгибающие движения не заточен, физиология

В общем спорная мышка, но ничего лучше не попалось, пока в магазине был.
На работу взял MxPerformace, но её надо раз в неделю в usb-шнур втыкать чтоб заряжалась.

В общем жизнь — боль, ничего пристойного из рабочих мышей, если не получится добыть модели эдак пятилетней давности, нет
Re[4]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 13:43
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, CaptainFlint, Вы писали:


CF>>Судя по фотографии, она является точным функциональным аналогом M500, то есть, кнопка над колёсиком не программируется, а других доп. кнопок там нет (кроме вперёд-назад). Мне это не подходит.


S>Кроме основных кнопок настраивается качание колёсика влево/вправо + ещё одна кнопка прям под большим пальцем, как в MX performance. Но она мягко говоря не очень удобно нажимается и с этим ничего не поделаешь. Большой палец на чёткие разгибающие движения не заточен, физиология


О какой кнопке под большой палец идёт речь? На фотках левой стороны вижу только стандартные Back/Forward. Их я не хочу модифицировать, активно использую по прямому назначению.
Наклоны колёсика для чего-нибудь могут быть полезны, но нужное мне переключение окон туда точно повесить не получится, не слишком удобный жест для частого использования.

S>В общем спорная мышка, но ничего лучше не попалось, пока в магазине был.

S>На работу взял MxPerformace, но её надо раз в неделю в usb-шнур втыкать чтоб заряжалась.

S>В общем жизнь — боль, ничего пристойного из рабочих мышей, если не получится добыть модели эдак пятилетней давности, нет


На Маркете увидел какие-то дорогие SteelSeries; судя по сайту и докам, это игровые мыши с очень обширной настройкой клавиш (в т. ч. с поддержкой макросов). Правда, пока не получилось выяснить, как именно там происходит выбор клавиш и можно ли дёргать несуществующие виртуальные коды.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[5]: Ищу мышь, да не простую
От: Sinix  
Дата: 29.03.16 18:48
Оценка:
Здравствуйте, CaptainFlint, Вы писали:


CF>О какой кнопке под большой палец идёт речь?

  Скрытый текст
Re: Ищу мышь, да не простую
От: X512 Япония  
Дата: 29.03.16 19:31
Оценка:
Пользоваться родным софтом от разработчика мыши необязательно. Все USB мыши, кроме особо запущенных случаев, реализуют протокол HID, соответственно можно получить состояние мыши используя WinApi. Одно из Api называется Raw Input. С помощью него можно получить RAW пакет от мыши и интерпретировать. Некоторые мыши работают в качестве клавиатуры для дополнительных кнопок.
Re[2]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 21:38
Оценка:
Здравствуйте, X512, Вы писали:

X>Пользоваться родным софтом от разработчика мыши необязательно. Все USB мыши, кроме особо запущенных случаев, реализуют протокол HID, соответственно можно получить состояние мыши используя WinApi. Одно из Api называется Raw Input. С помощью него можно получить RAW пакет от мыши и интерпретировать. Некоторые мыши работают в качестве клавиатуры для дополнительных кнопок.


Увы, даже через RawInput эта пумпочка у меня не видится. Из всех кнопок на MX518 через RawInput видны: левая, правая, back, forward, средний клик (нажатие на колёсико), вращение колёсика вверх-вниз. Ну и движения мыши. Всё. Оставшиеся три кнопки (плюс, минус и AppSwitch) не вызывают в тестовой прожке никакого вывода, как будто и не нажимаются вовсе.

На всякий случай привожу код. На 99% скопипастен из MSDN; диалог IDD_DIALOG1 — это простейший диалог с единственной кнопкой Cancel (быстрее было создать, чем расписывать создание окна).
  Скрытый текст
// test_raw_input.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <Windows.h>
#include <strsafe.h>
#include "resource.h"

INT_PTR CALLBACK DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_INITDIALOG:
        return TRUE;
    case WM_COMMAND:
        if (LOWORD(wParam) == IDCANCEL)
        {
            DestroyWindow(hwndDlg);
            PostQuitMessage(0);
            return TRUE;
        }
    case WM_INPUT:
        {
            UINT dwSize;

            GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &dwSize,
                sizeof(RAWINPUTHEADER));
            LPBYTE lpb = new BYTE[dwSize];
            if (lpb == NULL)
            {
                return 0;
            }

            if (GetRawInputData((HRAWINPUT)lParam, RID_INPUT, lpb, &dwSize,
                sizeof(RAWINPUTHEADER)) != dwSize)
                wprintf(L"%s", TEXT("GetRawInputData does not return correct size !\n"));

            RAWINPUT* raw = (RAWINPUT*)lpb;

            WCHAR szTempOutput[1024];
            if (raw->header.dwType == RIM_TYPEKEYBOARD)
            {
                HRESULT hResult = StringCchPrintf(szTempOutput, 1024, TEXT(" Kbd: make=%04x Flags:%04x Reserved:%04x ExtraInformation:%08x, msg=%04x VK=%04x \n"),
                    raw->data.keyboard.MakeCode,
                    raw->data.keyboard.Flags,
                    raw->data.keyboard.Reserved,
                    raw->data.keyboard.ExtraInformation,
                    raw->data.keyboard.Message,
                    raw->data.keyboard.VKey);
                if (FAILED(hResult))
                {
                    printf("ERROR: StringCchPrintf failed-1\n");
                }
                wprintf(L"%s", szTempOutput);
            }
            else if (raw->header.dwType == RIM_TYPEMOUSE)
            {
                HRESULT hResult = StringCchPrintf(szTempOutput, 1024, TEXT("Mouse: usFlags=%04x ulButtons=%04x usButtonFlags=%04x usButtonData=%04x ulRawButtons=%04x lLastX=%04x lLastY=%04x ulExtraInformation=%04x\r\n"),
                    raw->data.mouse.usFlags,
                    raw->data.mouse.ulButtons,
                    raw->data.mouse.usButtonFlags,
                    raw->data.mouse.usButtonData,
                    raw->data.mouse.ulRawButtons,
                    raw->data.mouse.lLastX,
                    raw->data.mouse.lLastY,
                    raw->data.mouse.ulExtraInformation);

                if (FAILED(hResult))
                {
                    printf("ERROR: StringCchPrintf failed-2\n");
                }
                wprintf(L"%s", szTempOutput);
            }

            delete[] lpb;
            return 0;
        }
    }
    return FALSE;
}

int main()
{
    HWND hd = CreateDialog(NULL, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc);
    ShowWindow(hd, SW_NORMAL);
    RAWINPUTDEVICE Rid[1];
    Rid[0].usUsagePage = 0x01;
    Rid[0].usUsage = 0x02;
    Rid[0].dwFlags = RIDEV_INPUTSINK;
    Rid[0].hwndTarget = hd;
    if (RegisterRawInputDevices(Rid, 1, sizeof(Rid[0])) == FALSE) {
        printf("RegisterRawInputDevices failed, code: %d\n", GetLastError());
        return 1;
    }

    printf("Cycle started.\n");
    BOOL bRet;
    MSG msg;
    while ((bRet = GetMessage(&msg, NULL, 0, 0)) != 0)
    {
        if (bRet == -1)
        {
            // Handle the error and possibly exit
        }
        else if (!IsWindow(hd) || !IsDialogMessage(hd, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }

    return 0;
}
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[6]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 21:39
Оценка:
Здравствуйте, Sinix, Вы писали:

CF>>О какой кнопке под большой палец идёт речь?

S>
  Скрытый текст
S>Image: LogitechMarathonM705-5.jpg


О, так это кнопка там. В жизни не догадался бы. Но да, нажимать её для переключения приложений будет не так удобно, как кнопку над колёсиком. Увы.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[3]: Ищу мышь, да не простую
От: X512 Япония  
Дата: 29.03.16 22:02
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Увы, даже через RawInput эта пумпочка у меня не видится. Из всех кнопок на MX518 через RawInput видны: левая, правая, back, forward, средний клик (нажатие на колёсико), вращение колёсика вверх-вниз. Ну и движения мыши. Всё. Оставшиеся три кнопки (плюс, минус и AppSwitch) не вызывают в тестовой прожке никакого вывода, как будто и не нажимаются вовсе.


Надо использовать RIM_TYPEHID для получения RAW-пакета с мыши. В результате будет получена последовательность байт, которую несложно отреверсить, нажимая поочерёдно на кнопки и смотря, что меняется. Обычно кнопка представлена одним битом и в одном байте может хранится больше одной кнопки.

Для анализа пакетов с мыши можно использовать Wireshark. Он умеет выводить журнал пакетов от любых USB устройств.
Re[4]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 29.03.16 22:36
Оценка:
Здравствуйте, X512, Вы писали:

CF>>Увы, даже через RawInput эта пумпочка у меня не видится. Из всех кнопок на MX518 через RawInput видны: левая, правая, back, forward, средний клик (нажатие на колёсико), вращение колёсика вверх-вниз. Ну и движения мыши. Всё. Оставшиеся три кнопки (плюс, минус и AppSwitch) не вызывают в тестовой прожке никакого вывода, как будто и не нажимаются вовсе.


X>Надо использовать RIM_TYPEHID для получения RAW-пакета с мыши. В результате будет получена последовательность байт, которую несложно отреверсить, нажимая поочерёдно на кнопки и смотря, что меняется. Обычно кнопка представлена одним битом и в одном байте может хранится больше одной кнопки.


RIM_TYPEHID тоже не приходит. Собственно, я сейчас добавил в самое начало обработчика WM_INPUT печать строки, чтобы было видно, что хоть какое-то сообщение приходит — нет, пусто. Возможно, надо регистрировать с другими параметрами. Я сходу не нашёл описания того, что вообще означают эти Usage и Usage page.

X>Для анализа пакетов с мыши можно использовать Wireshark. Он умеет выводить журнал пакетов от любых USB устройств.


О как, не знал, что там добавили USB, спасибо, поставил, посмотрю. К сожалению, для работы требует перезагрузку, иначе сразу и глянул бы…
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[4]: Ковёр не нужен
От: CaptainFlint http://flint-inc.ru/
Дата: 30.03.16 09:49
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Хм.. Я полагал, что в 2016 году уж всяко ковры не нужны. У меня в далёком 2007 была уже лазерная мышь, которая ездила по любой поверхности нормально, хоть по столу, хоть по покрывалу на кровати. Инерционность, кнчн, актуальна, как и потребность "грести мышью" в играх, тут согласен. Но ковры..


A>У меня какое-то время разжалованный ковёр служил подставкой под чай и кофе.


Когда пишется "не нужны", обязательно подразумевается "не нужны для чего-то" (мы же не в СВ, правда?) Для корректного позиционирования коврики, действительно, сейчас не нужны. Но меня сильно раздражает шуршаще-царапающее движение мыши по деревянной поверхности стола, а по тканевому коврику движение очень мягкое и бесшумное. Плюс у меня коврик с гелевой подушкой под запястье, рука на ней себя чувствует комфортнее (кстати, ещё и из-за этого область движения руки ограничена: если далеко уйти в сторону, запястье уже будет не лежать на подушке, а висеть в воздухе). Знаю, что к подушкам отношения самые противоречивые, но я говорю сейчас только про себя.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re: Ищу мышь, да не простую
От: andrey.desman  
Дата: 30.03.16 12:42
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>На сегодняшний день у самой Logitech уже ничего похожего на MX518 на сайте нет, самая близкая модель — M500, однако хоть там и есть кнопочка над колёсиком, эта кнопка вообще никак не программируется, а жёстко завязана на переключение режимов колёсика (если верить обзорам), поэтому не подходит. С мышами (и, соответственно, софтом) других мышепроизводящих компаний я дела практически не имел. У кого какие мыши, расскажите, пожалуйста, где можно найти аналогичную функциональность по настройке клавишных действий.


У меня такая: http://gaming.logitech.com/ru-ru/product/g600-mmo-gaming-mouse

По умолчанию, на сколько я помню, кнопки биндятся на numpad 0-9 и какие-то еще. Биндинги, разумеется, можно поменять, но не уверен насчет F13. Могу попробовать, если интересно.
Re[2]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 30.03.16 13:08
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>У меня такая: http://gaming.logitech.com/ru-ru/product/g600-mmo-gaming-mouse


AD>По умолчанию, на сколько я помню, кнопки биндятся на numpad 0-9 и какие-то еще. Биндинги, разумеется, можно поменять, но не уверен насчет F13. Могу попробовать, если интересно.


Игровые мыши, если не ошибаюсь, у Logitech работают не с SetPoint, а с GamingSoftware или как-то так? Я слышал, он почему-то более ограниченный по возможностям, чем SetPoint.
Если не затруднит, попробуйте, пожалуйста. Не обязательно именно F13, подойдёт любая виртуальная клавиша, которой физически не существует на клавиатуре (то есть которую невозможно выбрать методом "то, куда я сейчас тыкну") и которую можно перехватывать через RegisterHotKey().
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re: Ищу мышь, да не простую
От: _ilya_  
Дата: 30.03.16 23:27
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF> Хочу выбрать себе новую мышку, но имею к ней очень нестандартные требования. Прошу помощи зала.


A4 Bloody семейство от V3 до V7 — отличаются внешними размерами, внутри вроде датчик практически одинаковый и крайне крутой. Средних размеров — V4, для руки побольше лучше V3. Другие модели типа v7 — имеют снизу уширение, мне такое не нравится — громоздкой мышка становится.
Колесико прокручивается почти без звука если медленно, но ощущения что движение по интервалам есть, если быстро крутить то и звук будет от такого.
В старых вариантах был чуть ли не механический датчик отрыва мышки от стола. Т.е. при небольшом поднятии все перемещения отключаются. Да, это типа для геймеров — чтобы можно было переносить мышку без сдвигов, но далее в тех же моделях от такого отказались... На моей v4 где-то на сантиметр от крайне чувствительного коврика с серебряным отражающим покрытием типа блесток нужно поднять чтобы перемещение не работало. На листе обычной бумаги где-то 0,5 см чтобы не двигалась. У меня без контактного датчика, боюсь что можно и не найти старые модели с таковым.
Мышь программируется вплоть до макросов. Ну и у сенсора чувствительность (DPI) регулируется в самой мыши.
Собственно уже более десятилетия меня радуют мышки данной вроде бы даже Российской конторы, хотя это скорее китайщина. Ранее семейство XL было выдающимся, особенно мышки с покрытием вида искусственная змеиная кожа, а не тупо пластик сверху. Это только сейчас стали придумывать специальные виды пластика типа софт тач, не скользящий для мышек...
Отредактировано 30.03.2016 23:39 _ilya_ . Предыдущая версия . Еще …
Отредактировано 30.03.2016 23:33 _ilya_ . Предыдущая версия .
Отредактировано 30.03.2016 23:30 _ilya_ . Предыдущая версия .
Отредактировано 30.03.2016 23:28 _ilya_ . Предыдущая версия .
Re[3]: Ищу мышь, да не простую
От: _ilya_  
Дата: 31.03.16 07:44
Оценка:
Здравствуйте, SkyDance, Вы писали:
SD>Хороши в плане железа и неплохи софтом, но надёжность — это нечто.

А что не так? У меня только микрик в левой кнопке сломался. Скорее по причине что физически столько лет не может служить (точно не помню когда покупал, но лет 7 ей видимо уже было). До A7 XL мышки ломались только так, а эта оказалась фактически не убиваемой. Она до сих пор в шкафу пылится на всякий — ибо работает... микрик оказался разборным и тупо от кнопки где колесико переставил даже не отпаивая ничего!
Да и непонятно что в них ломаться, датчик солидный — не должен дохнуть. Провод тоже спец плетеный, в новых даже микрики крутые поставили. Должна быть еще надежней.
Отредактировано 31.03.2016 7:46 _ilya_ . Предыдущая версия .
Re: Ищу мышь, да не простую
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 31.03.16 15:23
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

У меня вот такая. Крайне рекомендую!
[КУ] оккупировала армия.
Re[2]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 31.03.16 16:10
Оценка:
Здравствуйте, koandrew, Вы писали:

K>У меня вот такая. Крайне рекомендую!


Можете прокомментировать по пунктам из первого поста темы?
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[3]: Ищу мышь, да не простую
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 31.03.16 16:29
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Можете прокомментировать по пунктам из первого поста темы?


Насчёт высоты не знаю (дома проверю, но по идее поскольку она лазерная, то должна быть небольшой), но по всем остальным пунктам "+". Ещё кстати имеет регулируемую чувствительность — два профиля, переключаемые кнопкой на мыши, оба можно настраивать произвольно в их софтине (очень удобно при работе с графическими редакторами — когда нужна точность, то можно включать разрешение побольше, в обычном режиме можно и поменьше), там же можно программировать кнопки и даже назначить разные маппинги для разных программ (это всё же игровая мышь).
Для меня самым важным фактором при покупке было то, что она лежит у меня в руке как влитая, и даже после многочасовой работы рука не утомляется (что было у меня с другими мышами, потому я выбирал мышь не столько по "фичам", сколько по удобству, лично приперевшись в магазин и перещупав много вариантов). Всё остальное я "распробовал" уже после покупки в процессе использования. Я принципиально не хотел 100500-кнопочные монстры, и потому данная модель была тем, что надо. У неё две пары кнопок на обоих "бортах" — на две слева по дефолту повешены "назад-вперёд", остальные как сам хочешь (я повесил на них PageUp/PageDown для удобства чтения). При этом она выглядит (и работает) как обычная мышь, а не монстр, который непонятно как хватать.
[КУ] оккупировала армия.
Re[3]: Ищу мышь, да не простую
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 31.03.16 22:02
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Можете прокомментировать по пунктам из первого поста темы?

Проверил высоту. Прекращает трекинг уже при небольшом отдалении от коврика (буквально 2-3 мм). Так что "зачёт" по всем пунктам
[КУ] оккупировала армия.
Re[4]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 31.03.16 22:55
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Проверил высоту. Прекращает трекинг уже при небольшом отдалении от коврика (буквально 2-3 мм). Так что "зачёт" по всем пунктам


Спасибо. Я, кстати, на сайте нашёл у них простого "сенсея", у которого высота отрыва ещё и программно регулируется.
Одно обидно: как раз та самая пумпочка над колёсиком, к которой я привык для своего псевдо-аль-таба, похоже, не настраивается. Можете подтвердить/опровергнуть?
И ещё: как именно выглядит настройка кнопки на эмуляцию несуществующей клавиши (в моём примере F13)?
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[5]: Ищу мышь, да не простую
От: Хон Гиль Дон Россия  
Дата: 01.04.16 10:03
Оценка:
Здравствуйте, SkyDance, Вы писали:


SD>Микрики дохнут у всех. Однако А4 не заменяет мышку со сдохшим микриком, а Логитек — меняет, причем без вопросов. У меня микрики ломаются в среднем раз в 2 года интенсивного использования (ну тут еще сын "помогает", не спорю).


Так у вас в Австралии блади вроде почти как логитеч стоит. А у нас — раза в три дешевле.

SD>Но еще на этих "Блади" быстро облезает покрытие, очень быстро стираются ножки (и начинаются рывки при движении курсора), подглючивает клик колеса прокрутки. В общем, оно вроде бы всё работает, но как в старых "жигулях". Хотя сами мышки, повторюсь, мне очень даже нравятся.


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

SD>Им бы еще хороший беспроводной интерфейс, как у Logitech G700 (IMHO лучшая мышка у Логитек, жаль батарейку быстро жрёт).


Нафиг-нафиг, тоже не будет батарейки хватать и на день. Или будет лагать. Провод у блади вполне приемлемый — по совокупности мне нравится больше, чем тяжеленная G700s. Хотя, есть и какие-то беспроводные варианты.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[5]: Ищу мышь, да не простую
От: tade  
Дата: 01.04.16 17:47
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Спасибо. Я, кстати, на сайте нашёл у них простого "сенсея", у которого высота отрыва ещё и программно регулируется.

Да, минимально настраиваемая высота отрыва (по ощущениям) -- около миллиметра.

CF>Одно обидно: как раз та самая пумпочка над колёсиком, к которой я привык для своего псевдо-аль-таба, похоже, не настраивается. Можете подтвердить/опровергнуть?

Да, эта кнопка зарезервирована под переключение чувствительности сенсора и не может быть переопределена через ПО Engine 3. Зато делает излишними ситуации вроде "...когда перекидываю мышь с края на край...". Нужна низкая чувствительность -- одно разрешение сенсора, для полного покрытия экрана перемещением в пределах коврика без динамического ускорения средствами ОС -- другое разрешение.

CF>И ещё: как именно выглядит настройка кнопки на эмуляцию несуществующей клавиши (в моём примере F13)?

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



ИМХО, я бы посоветовал выбирать ещё и под размер руки. Sensei -- довольно длинная и плоская по сравнению с остальными мышами Steelseries. Думаю, она не совсем для хвата рукой "крючком" -- рука должна лежать на ней. Так основание ладони будет висеть в воздухе, что есть неполохая профилактика синдрома запястного канала.
Отредактировано 01.04.2016 18:17 tade . Предыдущая версия . Еще …
Отредактировано 01.04.2016 18:05 tade . Предыдущая версия .
Re[5]: Ищу мышь, да не простую
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 02.04.16 02:33
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Одно обидно: как раз та самая пумпочка над колёсиком, к которой я привык для своего псевдо-аль-таба, похоже, не настраивается. Можете подтвердить/опровергнуть?

И да и нет. В смысле команда там есть, но работает она как-то странно. Но вообще ещё есть очень зачётный редактор макросов.

CF>И ещё: как именно выглядит настройка кнопки на эмуляцию несуществующей клавиши (в моём примере F13)?

А вот насчёт этого хз — я сходу не нашёл.
[КУ] оккупировала армия.
Re[6]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 02.04.16 08:54
Оценка:
Здравствуйте, koandrew, Вы писали:

CF>>И ещё: как именно выглядит настройка кнопки на эмуляцию несуществующей клавиши (в моём примере F13)?

K>А вот насчёт этого хз — я сходу не нашёл.

Ну вот… Как же тогда вышло «по всем остальным пунктам "+"»? А это для меня один из самых важных пунктов.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[7]: Ищу мышь, да не простую
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 02.04.16 12:58
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Ну вот… Как же тогда вышло «по всем остальным пунктам "+"»? А это для меня один из самых важных пунктов.


Ну ок — удачи с поисками.
[КУ] оккупировала армия.
Re: Ищу мышь, да не простую
От: dr. Acula Украина  
Дата: 02.04.16 17:38
Оценка:
CF>Начинает дохнуть Logitech MX518, служившая верой и правдой много лет. Хочу выбрать себе новую мышку, но имею к ней очень нестандартные требования. Прошу помощи зала.
единственно-верный вариант
подешевле
Отредактировано 02.04.2016 17:39 dr. Acula . Предыдущая версия .
Re[4]: Ковёр не нужен
От: Abalak США  
Дата: 05.04.16 19:37
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Хм.. Я полагал, что в 2016 году уж всяко ковры не нужны. У меня в далёком 2007 была уже лазерная мышь, которая ездила по любой поверхности нормально, хоть по столу, хоть по покрывалу на кровати. Инерционность, кнчн, актуальна, как и потребность "грести мышью" в играх, тут согласен. Но ковры..


Ковры разные бывают. Я очень доволен этим. Скольжение мыши намного приятнее, чем по голому столу.
Re[5]: Ищу мышь, да не простую
От: Abalak США  
Дата: 05.04.16 19:42
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Logitech G700 (IMHO лучшая мышка у Логитек, жаль батарейку быстро жрёт).


А кто мешает использовать ее в проводном режиме? Провод, при желании, можно и поэластичнее найти, но я не парился.
Re[6]: Ищу мышь, да не простую
От: SkyDance Земля  
Дата: 05.04.16 22:21
Оценка:
A>А кто мешает использовать ее в проводном режиме?

Провод и мешает. Плюс здравый смысл, который говорит, что если висеть на проводе, то достаточно G502 и аналогичных.
Re[4]: Ищу мышь, да не простую
От: CaptainFlint http://flint-inc.ru/
Дата: 10.04.16 16:22
Оценка:
Здравствуйте, andrey.desman, Вы писали:

Большое спасибо за тест!

AD>Если же полагаться на работающий LGS, то такой простенький LUA-скрипт делает свое дело:


Я правильно понимаю, что это сам LGS поддерживает LUA-скриптование? Или речь о запуске стороннего скрипта?

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


Запуск проги, к сожалению, не подходит, я это упомянул в самом первом посте, когда говорил про Razer:

Можно было навесить запуск произвольной программы, но по сравнению с фоновой обработкой это оказалось ощутимо тормознее, да ещё и сильно зависит от текущей нагрузки на диск.

В принципе, если LGS поддерживает скрипты с обработчиками событий от нажатий произвольных кнопок, то, возможно, и эмуляция клавиши не понадобится, достаточно будет послать какой-нибудь WM_USER прямо в прогу. Надо будет поискать доки, чего там вообще реализовано.
Почему же, ё-моё, ты нигде не пишешь «ё»?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.