IT-Expert
  IT-Expert / Веблог / Windows Media Center и пульты управления
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2023 год
 за 2022 год
 за 2021 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 

      Windows Media Center и пульты управления

      12:21, 22 января 2006 ( Microsoft Multimedia  )

      Сам 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)

      }


      Оставить комментарий
      © Максим Прокопов 2005-2024 О сервере