Сам MCE поддерживает пульты только определенных производителей и только с определенными драйверами. И естественно, мой Manli HomeTV не оказался в списке избранных.
На помощь пришла сторонняя программа работы с пультами ДУ, с богатейшими возможностями SlyControl. Представляет собой почти конструктор, для работы которого почти с любой программой достаточно написать небольшой скриптик обработки кнопок. Для xUSSR жителей предусмотрена бесплатная полурегистрация, которая заключается в ежемесячной перерегистрации, введении названия месяца на русском. Эдакая "регистрация для бедных и убогих" :)
Нижеследующий скрипт от господина Madsly для работы с MCE.
# MCE 2005
# Madsly
MCE_Always = Group( Enabled ){
OnGroupEnable(){ WinMon.StartPreset( MCE ) }
MCE_Start = Hook( "VIDEO", "MCE", Enabled, Break ){
h = WinMon.ActionPreset( MCE )
Skip( 2, h = 0 )
WinCtrl( "ACTIVATE", h )
Skip( 2 )
e = ExecFile( "C:\WINDOWS\ehome\ehshell.exe" )
Break( e = 0 )
GroupEnable( MCE )
}
MCE_Create = Hook( "WINMON", "MCE_CREATE", Enabled ){
GroupEnable( MCE )
}
MCE_Activate = Hook( "WINMON", "MCE_ACTIVATE", Enabled ){
GroupEnable( MCE )
}
MCE_Close = Hook( "WINMON", "MCE_CLOSE", Enabled ){
GroupDisable( MCE )
}
MediaDisable = Hook( "MMEDIA", "DISABLE", Enabled ){
Break( MediaDisable = 5 )
GroupDisable( MCE )
}
}
#===========================================================
MCE = Group( Disabled ){
OnGroupEnable(){
EventSend( "MMEDIA", "DISABLE", 5 )
OSD( "Apps", "MCE", "P:MCE.bmp" )
}
PowerRemote = Hook( "REMOTE", "POWER", Enabled, Break ){
Break( PowerRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Skip( 1, h = 0 )
WinCtrl( "CLOSE", h )
GroupDisable( MCE )
}
PlayRemote = Hook( "REMOTE", "PLAY", Enabled, Break ){
Break( PlayRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+SHIFT+P", h )
#OSD ("PLAY!", "T:10000")
}
PauseRemote = Hook( "REMOTE", "PAUSE", Enabled, Break ){
Break( PauseRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+P", h )
}
StopRemote = Hook( "REMOTE", "STOP", Enabled, Break ){
Break( StopRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+Shift+S", h )
}
PrevRemote = Hook( "REMOTE", "PREV", Enabled, Break ){
Break( PrevRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+B", h )
}
NextRemote = Hook( "REMOTE", "NEXT", Enabled, Break ){
Break( NextRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+F", h )
}
RewRemote = Hook( "REMOTE", "REW", Enabled, Break ){
Break( RewRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
WinCtrl( "ACTIVATE", h )
Keyboard( "PRESS", "Ctrl+SHIFT+B" )
}
FwdRemote = Hook( "REMOTE", "FWD", Enabled, Break ){
Break( FwdRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+SHIFT+F", h )
}
TabRemote = Hook( "REMOTE", "TAB", Enabled, Break ){
Break( TabRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "Backspace", h )
}
EnterRemote = Hook( "REMOTE", "Enter", Enabled, Break ){
Break( EnterRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "KEYDOWN", "Enter", h )
#OSD ("MCE Enter", "T:2000")
Keyboard( "KEYUP", "Enter", h )
}
LoopAudioRemote = Hook( "REMOTE", "Loop", Enabled, Break ){
Break( LoopAudioRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+SHIFT+A", h )
}
ZoomRemote = Hook( "REMOTE", "Zoom", Enabled, Break ){
Break( ZoomRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "Alt+Enter", h )
}
DVDRootRemote = Hook( "REMOTE", "DVDRoot", Enabled, Break ){
Break( DVDRootRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+SHIFT+S", h )
}
FileRemote = Hook( "REMOTE", "File", Enabled, Break ){
Break( FileRemote <> 0 )
h = WinMon.ActionPreset( MCE )
Break( h = 0 )
Keyboard( "PRESS", "CTRL+D", h )
}
#---- No?aeee
Up = Hook( "REMOTE", "Up", Enabled, Break ){
Break( Up < 0)
Keyboard("PRESS", "Up")
Num = Math("x+y", Num,1)
Skip1( Num > 10)
Timer(120)
Timer(40)
}
Down = Hook( "REMOTE", "Down", Enabled, Break ){
Break( Down < 0 )
Keyboard("PRESS", "Down")
Num = Math("x+y", Num,1)
Skip1( Num > 10)
Timer(120)
Timer(40)
}
Left = Hook( "REMOTE", "Left", Enabled, Break ){
Break( Left < 0 )
Keyboard("PRESS", "Left")
Num = Math("x+y", Num,1)
Skip1( Num > 10)
Timer(120)
Timer(40)
}
Right = Hook( "REMOTE", "Right", Enabled, Break ){
Break( Right < 0 )
Keyboard("PRESS", "Right")
Num = Math("x+y", Num,1)
Skip1( Num > 10)
Timer(120)
Timer(40)
}
Оставить комментарий