Как стать автором
Обновить

Комментарии 11

Пока что неизвестно, насколько лучше платная программа Peanut Butter Pointer, чем эта разработка. Перспектива регуляно её инсталлировать и без следов деинсталлировать через 2 недели специальным деинсталлятором сильно снижает желание её исследовать и ею пользоваться.

А просто купить (если за 15 дней понравится) религия не позволяет?

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

Согласен. И цена вполне доступная 21.95$
Это половинчатое решение (2 мыши — 1 клавиатура), если код закрыт, гарантированно не понравится. Исследовать стоит, на мой взгляд, те решения, в которых код открыт, где есть возможность развить идеи. Поэтому закрытый код, сделанный для конечного потребителя, для меня не представляет интереса.
Вспомнился анекдот старый:
«Админ (А), Секретарша (С):
С:-Ваня, а можно к компьютеру две мыши подключить?
А: -НУ теоретически можно, есть некоторые нюансы… а тебе зачем?
С: -Да, я в пасьянсе одной мышкой хочу колоду отодвинуть, а другой посмотреть следующую карту...»
даже на ресурсах типа ответы.mail.ru?
Это же сборище идиотов, у меня приступы лютой ненависти от ответ, на которые иногда попадаю из гугла %)
Согласен, пример с ответы.mail.ru на хабре вызывает только неприязнь. )) А так полезная статья, спасибо.
Недавно микрософта сделала для Windows Multipoint Mouse SDK для разработки приложений поддерживающих несколько мышек, без установки драйверов.
Помню, в какой-то из версий игры Settlers можно было играть вдвоём на одном экране одновременно — экран разделялся на две половины, и при подключенных двух мышах каждая мышь работала в своём окне. Но это ещё во времена ДОСа было, кажись.
А для win 7,8,10 подобное есть?
Поскольку с хостинга эти 2 файла исчезли (ошибка при чтении), выкладываю их в текстовом виде здесь (примерно 11КБ текста). Файл Base64 нужно закодировать в бинарный с именем cpnmouse.sys. Второй файл сохранить как cpnmouse.inf.

Если удастся установить в более новые ОС — с интересом прочитаю статью об этом ).

1. Binary file for mouse driver for Windows xP.

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

Encode this file from base64 (encodedBase64-cpnmouse.sys.txt for cpnmouse-driver-binary-1.0.1) to file cpnmouse.sys as binary file.

2. Save next text to file as cpnmouse.inf

; Installation file (.inf) for the CPN Tools mouse filter driver
;
; (c) Copyright 2002-2004 CPN Group, University of Aarhus 
;

[Version]
Signature="$Windows NT$"
Provider=%CPNGroup%
ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
Class=Mouse
CatalogFile=cpnmouse.cat
DriverVer=09/05/2004,1.0.5.0

[DestinationDirs]
DefaultDestDir   = 12

;
; Driver information
;

[Manufacturer]
%CPNGroup%   = CPNGroup.Mfg

[CPNGroup.Mfg]
%CPNGroup.DeviceDesc0% = ps2inst, *PNP0FAKE
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_046d&PID_c402
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_046d&PID_c000
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_046d&PID_c001
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_046d&PID_c00e
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_046d&PID_c016
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_0603&PID_6871
%CPNGroup.DeviceDesc1% = usbinst, HID\VID_061c&PID_a700
%CPNGroup.DeviceDesc2% = serinst, *PNP0F0C,SERENUM\PNP0F0C,SERIAL_MOUSE

;
; General installation section
;

[ps2inst]
; perform port related actions from msmouse.inf
Include=msmouse.inf
Needs=Ps2_Inst

AddReg=cpnmouse.AddReg
; Copy the driver over
CopyFiles=cpnmouse.CopyFiles

[usbinst]
; perform port related actions from msmouse.inf
Include=msmouse.inf
Needs=HID_Mouse_Inst.NT

AddReg=cpnmouse.AddReg
; Copy the driver over
CopyFiles=cpnmouse.CopyFiles

[serinst]
; perform port related actions from msmouse.inf
Include=msmouse.inf
Needs=Ser_Inst

AddReg=cpnmouse.AddReg
; Copy the driver over
CopyFiles=cpnmouse.CopyFiles

[cpnmouse.AddReg]

;
; File sections
;

[cpnmouse.CopyFiles]
cpnmouse.sys

;
; Service Installation
;

[ps2inst.Services]
AddService = cpnmouse,  , cpnmouse_Service_Inst, cpnmouse_EventLog_Inst
; Install the port driver and mouclass from msmouse.inf
Include=msmouse.inf
Needs=Ps2_Inst.Services

[usbinst.Services]
AddService = cpnmouse,  , cpnmouse_Service_Inst, cpnmouse_EventLog_Inst
; Install the port driver and mouclass from msmouse.inf
Include=msmouse.inf
Needs=HID_Mouse_Inst.NT.Services

[serinst.Services]
AddService = cpnmouse,  , cpnmouse_Service_Inst, cpnmouse_EventLog_Inst
; Install the port driver and mouclass from msmouse.inf
Include=msmouse.inf
Needs=Ser_Inst.Services

[cpnmouse_Service_Inst]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Pointer Port
ServiceBinary  = %12%\cpnmouse.sys

[cpnmouse_EventLog_Inst]
AddReg = cpnmouse_EventLog_AddReg

[cpnmouse_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\cpnmouse.sys"
HKR,,TypesSupported,0x00010001,7

[ps2inst.HW]
; Add the device upper filter
AddReg = ps2inst.HW.AddReg

; run the directives need by the port driver
Include=msmouse.inf
Needs=Ps2_Inst.HW

[usbinst.HW]
; Add the device upper filter
AddReg = usbinst.HW.AddReg

; run the directives need by the port driver
Include=msmouse.inf
Needs=HID_Mouse_Inst.NT.HW

[serinst.HW]
; Add the device upper filter
AddReg = serinst.HW.AddReg

; run the directives need by the port driver
Include=msmouse.inf
Needs=Ser_Inst.HW

[ps2inst.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"cpnmouse"

[usbinst.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"cpnmouse"

[serinst.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"cpnmouse"

;
; Source file information
;

[SourceDisksNames.x86]
1 = %DiskId1%,,,""

[SourceDisksFiles]
; Files for disk CPN Group, University of Aarhus Installation Disk #1 (Mouse)
cpnmouse.sys = 1,,

[Strings]

;
; Non-Localizable Strings
;

REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_EXPAND_SZ  = 0x00020000
REG_BINARY     = 0x00000001
REG_DWORD      = 0x00010001
SERVICEROOT    = "System\CurrentControlSet\Services"

;
; Localizable Strings
;

CPNGroup.DeviceDesc0 = "CPN Tools mouse filter driver PS/2"
CPNGroup.DeviceDesc1 = "CPN Tools mouse filter driver USB"
CPNGroup.DeviceDesc2 = "CPN Tools mouse filter driver serial"
DiskId1 = "CPN Group, University of Aarhus Installation Disk #1 (Mouse)"
CPNGroup = "CPN Group, University of Aarhus"

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории