Замена штатного 24-х позиционного энкодера колеса прокрутки мыши на 12-ти позиционный ALPS
реклама
Вначале о смысле: всё это затевалось с единственной целью - улучшить чёткость фиксации в промежуточных положениях колеса прокрутки мыши. Все известные мне мыши обладают т.н. 24-х позиционным энкодером - т.е. за 1 полный оборот колесо прокрутки фиксируется 24 раза, соответственно, угол приходящийся на одну ступень прокрутки, слишком мал для комфортной фиксации в нужном положении. Особенно это досаждает в играх, если на колесе стоит выбор оружия. Итак, обзор по 12-позиционным энкодерам ALPS от японской компании ALPS ELECTRIC CO., LTD. https://tech.alpsalpine.com/prod/e/html/encoder/incremental/ec10e/ec10e1260502.html
Предполагалось, что 12-ти позиционный энкодер должен оказаться в два раза точнее и чётче по фиксации. Собственно это и подтвердилось. Вся фишка в количестве насечек на колёсике энкодера, ниже показано колёсико обыкновенного 24-х позиционного энкодера:(cразу извиняюсь за чёрнобелость некоторых фоток - в IrfanView забыл снять галку с "в оттенках серого", а обнаружилось уже после заливки на фоткообменник.) А вот колёсико 12-ти позиционного энкодера ALPS: Разница, как видно, налицо и довольно существенная. У ALPS явно выраженные обособленные углубления. Более того, фиксирующий выступ на пластинке-трещётке энкодеров ALPS, как оказалось, практически идеально повторяет форму впадинки на колёсике. Вот, сравните, так выглядит фиксирующая пластинка-трещётка обыкновенного 24-х позиционного энкодера: Радиусный изгиб в верхней части пластины - это просто какое-то недоразумение. При таком малом шаге насечек на колёсике, он едва справляется со своим предназначением. В своё время, мною уже проводилась довольно эффективная модификация этого узла: https://forums.overclockers.ru/viewtopic.php?p=10376065#p10376065 К слову, данный узел до сих пор беспроблемно трудится в той рабочей мышке (AutoCAD). Ниже приведены фотки той самой пластинки от 12-ти позиционных энкодеров ALPS: Нетрудно заметить, что это, как говорится, "небо и земля". В общем, всё это вкупе, даёт очень чёткую и тактильно хорошо различимую фиксацию колеса прокрутки (скролла) мыши. Даже, можно сказать, чересчур жёсткую - пришлось немного ослабить прижим пластинки к колёсику. Также обнаружилась ещё одна очень интересная и полезная особенность: пластинка ALPS-кого энкодера один в один встаёт на посадочное место 24-х позиционного энкодера и после сборки значительно улучшает чёткость фиксации. Таким образом, если лень возиться с перепайкой и подстройкой под электрическую часть, то достаточно будет заменить только лишь эту самую фиксирующую пластинку трещётки. По электрической же части, как видно на нижеприведённой фоте, всё абсолютно идентично (справа родной энкодер мыши X-738K): Контактная группа аналогична 24-х позиционным(3 сектора по 4 лепестка), соотв. за одну ступень выдаётся два сигнала (Внимание! См. дополнение в конце статьи!). Также совпадают габаритные размеры по ШхВхД и присоединительные (под валик колеса прокрутки), кроме высоты ножек. Кстати, смазки в механизме было изначально заложено предостаточно: Однако состав смазки не представлялось возможным определить, посему родная была вымыта бензином для зажигалок и заменена на проверенную временем и эффективностью - силиконовую. Как выше уже упоминалось, данный энкодер был установлен на моей боевой мышке X-738К, взамен многострадального ( https://forums.overclockers.ru/viewtopic.php?p=9351533#p9351533 https://forums.overclockers.ru/viewtopic.php?p=10007671#p10007671 https://forums.overclockers.ru/viewtopic.php?p=10330930#p10330930 ) родного энкодера. Так как высота ножек ALPS-кого энкодера меньше, то пришлось запаяться на часть от родных. Причём концы родных ножек, входящие в отверстия платы пришлось подогнуть дабы улучшить сцепление с платой - после многих перепаек уже даже токоподводящие дорожки с платы начали отслаиваться. [ В итоге получил то, к чему так давно стремился - чёткость фиксации в промежуточных положениях - единственное, что не удавалось побороть долгое время у механических энкодеров, в отличие от надёжности, которая по опыту оказалась многолетней. P.S.: с тегами на вставку картинок еле освоил... кому надо оригиналы посмотреть - сюда: http://radikal.ru/users/fenixsu#alb=Enkodery_ALPS_12-pozitsionn&rnd=3 Цветные исходники: http://radikal.ru/users/fenixsu#alb=ALPS_tsvetnye_iskhodniki&rnd=3 Внимание! Важное дополнение: Уже намного позже после написания статьи, совершенно случайным образом ( https://forums.overclockers.ru/viewtopic.php?p=12222383#p12222383 ) выяснилось, что если перевернуть энкодер обратной стороной, т.е. впаять его, развернув на 180°(меняются местами крайние выводы энкодера), то он как раз-таки начинает выдавать те самые 12 сигналов за оборот (или пропускает через один в случае с 24-позиционным энкодером). Так как на многих мышах впаять обратной стороной энкодер невозможно - некуда вставлять ось колёсика, то, в нашем случае, самым простым и правильным способом будет поменять местами распайку выводов на плате при помощи маленьких проводков, перекинув их на противоположные выводы, а родные дорожки на плате удалить(перепилить/срезать). Вот фото переделки: После вышеозначенной доработки, новый 12-позиционный скролл мыши начал выдавать в Windows именно один сигнал за одну ступень фиксации прокрутки. Далее идущие примечания и дополнения, касаемо программной реализации пропуска лишних прокруток, потеряли свою актуальность и оставлены мною для истории - вдруг кому пригодится! Для справок: Ссылка на перепайку энкодеров на других мышах - X-750MK и Bloody R3. https://forums.overclockers.ru/viewtopic.php?p=11952438#p11952438 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> P.P.S: кто пользуется программой AutoHotkey (http://ahkscript.org/) вот простейший скрипт на пропуск "лишних" прокруток(особая благодарность участнику Irbis форума http://forum.script-coding.com): WheelDown:: WheelUp:: t := A_ThisHotkey == A_PriorHotkey && A_TimeSincePriorHotkey < 1000 ? !t : 1 if t Click % A_ThisHotkey Return
Это даёт полноценные 12 импульсов за оборот колеса или по одному в отдельном зафиксированном положении. Причём, есть интересная особенность: начало отсчёта сбрасывается спустя одну секунду, т.е. если колесо затормозить между фиксациями, то регистрация прокрутки начнётся со следующего шага. Иными словами, либо сразу прокрутка регистрируется как только колесо стронешь из зафиксированного положения, либо в конце, когда следующей канавки фиксатор достигнет. Дополнение №1: Вот вариант скрипта, что бы не блокировалось выполнение самого скрипта при зажатых клавиатурных клавишах типа Shift или Ctrl: #HotkeyInterval 0 *WheelDown:: *WheelUp:: t := A_ThisHotkey == A_PriorHotkey && A_TimeSincePriorHotkey < 1000 ? !t : 1 if t Click % SubStr(A_ThisHotkey,2) Return
Теперь всё совсем хорошо! ;) Дополнение №2: Для тех, кто категорически не приемлет программы типа AutoHotkey, прикладываю скомпилированный exe-шник вышеприведённого скрипта (добавить в автозагрузку): Скачать архив ZIP
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают