Page 1 of 1

Magic Mouse для Windows

PostPosted: 28 Dec 2009, 05:33
by Валентин Эрикович

Magic Mouse для Windows


Выпустив в октябре революционную Magic Mouse, Apple еще раз порадовала владельцев Mac новым удобным устройством. Позже компания выпустила обновление драйверов BootCamp 2.2, которое обеспечивает поддержку Magic Mouse в операционных системах Windows, установленных через BootCamp на Macintosh.



Как и многие другие я, увидев эту мышку, сразу же ее захотел.
Я ее заказал, и вот звонок из службы доставки и долгожданная прозрачная коробочка у меня на столе.
Я надеялся использовать эту мышку не только на Macintosh, но и под Windows! Разочарование пришло довольно быстро… И вот как раз об опыте прикручивания этой мышки к операционной системе Windows и пойдет речь в топике.
Однако хочу заметить — некоторого успеха я достиг Все получилось, мышка работает!

Итак, для начала хочу развеять / прокомментировать несколько «мифов» (в кавычках — потому что некоторые мифы являются мифами о мифах: далее по статье будет понятно, почему), в которые могут поверить собирающиеся купить эту мышку и использовать ее с Windows.

Мифы

Миф 0. Хакеры


Привел это для общей полноты статьи, хотя это все и так знают. Никакого особого хака или взлома при «портировании» официальных драйверов не было — их просто нашли в одном из архивов обновления boot camp. К тому же поддержка вовсе не полноценная — из сенсорных возможностей работает только вертикальный и горизонтальный скролл.

Миф 1. Эти драйверы — для Windows

На самом деле это конечно так и есть, однако предназначаются они для Windows, установленной на компьютерах Mac через уже упомянутый выше boot camp. И в сети можно найти множество противоречивых комментариев и разочарований пользователей, которым так и не удалось заставить работать эту мышь полноценно под обычной Windows, работающей на обычном PC. Однако вместе с этим можно найти и противоположные отзывы — некоторым все же удалось… значит удастся и нам! Подтверждаю — драйверы устанавливаются и работают на обычной Windows на IBM-совместимом PC, но они капризные.

Миф 2. Драйверы поддерживают Windows XP, Vista и 7 (x32 и x64)

Под XP вероятность удачи сильно ниже (однако успешные установки есть). Насколько я мог заметить, анализируя эти драйверы — они все же в первую очередь для Vista (и 7): WDF-инсталлятор (WdfCoInstaller01005.dll) прямиком взят из нее, и, кажется, не поддерживает установку на XP. Я не профессионал в этой области, однако все мои попытки установить драйверы поставляемым вместе с драйверами установщиком на Windows XP x64 не увенчались успехом — файлы не копировались в нужные директории, хотя и ошибок не выдавалось.

Миф 3. Работа с USB Bluetooth адаптером

У меня — не получилось. Можно найти на зарубежных форумах неуверенные комментарии о том, что работает, в том числе в комментариях на российских форумах можно найти счастливчиков. Для подключенной мыши через USB адаптер устанавливается драйвер Bluetooth HID Device, который подключает стек bluetooth и входящий в него hidusb.sys, который и отвечает за работу с USB. Однако драйвер от Apple его не использует и попытки ручного добавления такой привязки также не помогли. О проделанных изменениях я еще напишу чуть ниже (если я что-то делал наивно и неправильно — прошу помочь и направить на истинный путь в комментариях). Вторая причина в том, что драйверы нормально устанавливаются и работают только поверх стандартного bluetooth-стека Windows (отсюда рецепт — если ваш адаптер работает без дополнительных драйверов — 90% что и мышка с ним заработает), а USB адаптеры обычно требуют сторонних драйверов, и это прибавляет нам дополнительных проблем. Впрочем, здесь можно попробовать добавить поддержку конкретного адаптера стандартными драйверами, об этом я тоже упомяну.

Инструкции по установке

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

Magic Mouse + Windows 7 Ultimate (32 bit) + ноутбук с bluetooth адаптером внутри (dell studio 1537) = работает
Magic Mouse + Windows Vista Home Basic (32 bit) + ноутбук с bluetooth адаптером внутри (HP ProBook 4710s) = работает


Image

Bluetooth адаптер определился и установился сам, стандартные драйверы Windows оказались поддерживающими его, поэтому дополнительных трудностей не возникло.
Инструкция по установке:

  1. Установить драйвер bluetooth, добиться его работоспособности.
  2. Включить мышку, подключить ее («найти» ее, используя поиск bluetooth-устройств). На этом шаге возможно потребуется ввести код подтверждения для создания пары, подходит классический «0000». Однако у меня этого не потребовалось. Далее установятся все необходимые HID-драйверы и мышка начнет работать — движение курсора, левый и правый клик. Скролл на данном этапе работать не будет.
  3. Установить драйвер от Apple (скачать можно: для 32-битных и для 64-битных версий). После установки произойдет автоматическая замена HID-драйвера на Apple Wireless Mouse, мышка на миг отключится и затем «полноценно» заработает — клики, горизонтальный и вертикальный скролл.

    Image
  4. Радость!

Magic Mouse + Windows XP Professional (64 bit) + USB Bluetooth «Prolife» (стек IVT Bluesoleil) = не работает

Image

Сразу скажу — не получилось. И чего только не пробовал. Если есть среди читателей этого топика счастливчики, у которых получилось, или которые знают что можно еще попробовать — очень прошу прокомментировать!

Итак, что же я пробовал. Сначала прямой путь:

  1. Установил драйвер bluetooth для своего адаптера — IVT Bluesoleil.
  2. Включил мышку, подключил, ввел код «0000», заработала, задвигалась. Скролл естественно нет.
  3. Установил драйвер для 64-битной версии, получил сообщение об успешности установки и… ничего не изменилось. На самом деле драйвер даже не скопировался в нужные директории.
Попытки поставить драйвер самостоятельно, заменив стандартный Bluetooth HID Device:

  1. Распаковал архив с драйвером с помощью WinRAR, нашел нужные inf и sys файлы.
  2. Диспетчер устройств -> Human Interface Devices -> Bluetooth HID Device. Обновил драйвер, выбрал ручной выбор (простите) драйвера, указал на inf файл от Apple, далее подтвердил все недовольства о неподписанности драйвера — установка завершена. Однако в диспетчере устройств восклицательный знак — конфликт, устройство не запускается. Причина — несовместимость с драйвером Bluesoleil. Мышь — не двигается.
Неудача, пробуем исправить. Замена драйвера Bluesoleil стандартным драйвером Windows:

  1. Для начала нужно иметь поддержку bluetooth — установить SP2 для XP.
  2. Далее узнать VID и PID значения устройства Bluetooth — сделать это можно в диспетчере устройств, найдя там Bluetooth адаптер, открыв свойства и перейдя на вкладку «Details». У моего адаптера это значения 0400 и 080A соответственно.
    Image
  3. Теперь нужно отредактировать файл bth.inf (\Windows\inf\bth.inf): добавить строчку с нужными VID и PID в одного из производителей (по сути — без разницы) по аналогии с другими. Я добавил строчку в секцию производителя Broadcom: Prolife= BthUsb, USB\VID_0400&PID_080A
  4. Если все шаги выполнены, то можно обновлять драйвер через диспетчер устройств (удалив перед этим все сторонние драйверы вроде Bluesoleil), указав автоматический поиск. Проделанные изменения позволят Windows обнаружить устройство и установить стандартный драйвер. Если повезет — устройство заработает без проблем. У меня — заработало.
После этого я попробовал вновь заменить драйвер Bluetooth HID Device на Apple Wireless Mouse и на этот раз конфликта не возникло, однако мышь по-прежнему не работала совсем… Я пробовал устанавливать популярный драйвер от Toshiba, однако это не привело к успеху (был конфликт HID драйвера).

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

  1. Распаковываем драйвер с помощью WinRAR.
  2. Находим файл AppleBMT64.inf (или AppleBMT.inf для 32-битных версий), открываем в своем любимом редакторе.
  3. Находим секцию [AppleWirelessMouse.NT] и редактируем строчки Include и Needs, добавляя input.inf и HID_Inst.NT (не забывайте, инструкция для Windows XP x64) соответственно:
    Code: Select all
    Include=hidbth.inf, input.inf
    Needs=HIDBTH_Inst.NT, HID_Inst.NT
    В input.inf можно найти подключение упомянутого выше hidusb.sys.
После проделанных изменений вновь устанавливаем драйвер и обнаруживаем нужные нам подключенные файлы (hidusb.sys и другие) в свойствах драйвера.
Image
Однако мышь по-прежнему не работает…

Да, стоит еще отметить, что упомянутый также WdfCoInstaller01005.dll я пробовал заменить на более новый и подходящий для XP WdfCoInstaller01009.dll (взятый из SDK для разработчиков драйверов), но это не помогло установке драйвера.

Magic Mouse + Windows 7 Ultimate (64 bit) + USB Bluetooth «Prolife» = не работает

Аналогично — заставить мышку работать не получилось. Однако в Windows 7 мне не удалось добиться работоспособности моего адаптера со стандартным драйвером Windows. Вполне возможно, что шанс еще есть. Но в целом — действия аналогичны предыдущему разделу, за исключением того, что bth.inf так просто отредактировать не получится — нужно его скопировать в отдельный каталог вместе с bth.pnf, и уже его потом указывать при ручной установке, иначе Windows 7 будет использовать драйвер из своего специального хранилища).

Magic Mouse + Windows 7 / Windows XP (32 & 64 bit) + USB Bluetooth «Noname» (стек Windows) = работает

Image

Спасибо хакерюзеру Kadet! У него в указанной конфигурации мышь работает. К сожалению, производителя bluetooth адаптера установить на удается (как и для большинства подобных, кстати), однако важно другое — он работает с драйверами Windows «из коробки», без дополнительных хитростей.

Magic Mouse + Windows 7 (32 & 64 bit) + USB Bluetooth «Rovermate Adaptmate-095 Bluetor Adapter» = работает
Image
Несмотря на то, что в комплекте с адаптером поставляется драйвер IVT Bluesoleil, он работает замечательно и со стандартными драйверами Windows. После подключения мышки и установки драйверов Apple — начал работать и скролл.

Резюме

Надеюсь, статья поможет другим пользователям: кому-то вселит уверенности и желания купить мышку и попробовать, а кого-то предостережет от траты денег. Также надеюсь найти помощи — наверняка есть люди опытнее, а возможно даже такие, кому удалось приучить мышь к USB Bluetooth адаптерам.