2

Я ищу своего рода программу запуска для моего HTPC. Идея состоит в том, что эта программа запускается, когда Windows (или Linux, я доволен любой ОС) и вызывает меню программ, таких как XBMC, HULU Desktop, BOXEE, Firefox, Shutdown и выход. Затем пользователь может выбрать программу с помощью клавиш со стрелками на пульте дистанционного управления (или клавиатуры, или мыши и т.д.) Программа запустит выбранную программу ...

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

Такая программа кажется простой, и я думаю, что такая уже существует, однако мне не повезло в поисках.

Кто-нибудь знает о такой программе?

Самая близкая вещь, с которой я столкнулся, - это "панели запуска", которые имитируют док OSX на windows/linux, однако они не имеют удаленной поддержки.

6 ответов6

2

В конце концов я настроил свой пульт с помощью EventGhost и установил горячие клавиши для переключения между приложениями. Я даже использовал пульт от телевизора, а не пульт MCE, входящий в комплект поставки ресивера. Ниже моя конфигурация EventGhost, если кому-то интересно.

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Name="Configuration Tree" Expanded="True" Version="1366" Guid="{0185B32E-BE94-40DA-BE3C-167F125DAA94}" Time="1264186173.58">
    <Autostart Name="Autostart">
        <Plugin File="MceRemote" Identifier="MceRemote">
            gAJHP8MzMzMzMzOIhnEALg==
        </Plugin>
        <Plugin File="Keyboard" Identifier="Keyboard">
            gAIpLg==
        </Plugin>
        <Plugin File="Task" Identifier="Task">
            gAIpLg==
        </Plugin>
    </Autostart>
    <Folder Name="Keymaps" Expanded="True">
        <Folder Name="D-Mode" Expanded="True">
            <Folder Name="D-PAD" id="8" Enabled="False">
                <Macro Name="Enable exclusive: Mouse">
                    <Event Name="MceRemote.4522" />
                    <Action>
                        EventGhost.EnableExclusive(XmlIdLink(27))
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Up}">
                    <Event Name="MceRemote.4580" />
                    <Action>
                        Window.SendKeys(u'{Up}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Left}">
                    <Event Name="MceRemote.4551" />
                    <Action>
                        Window.SendKeys(u'{Left}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Down}">
                    <Event Name="MceRemote.4581" />
                    <Action>
                        Window.SendKeys(u'{Down}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Right}">
                    <Event Name="MceRemote.454D" />
                    <Action>
                        Window.SendKeys(u'{Right}', False)
                    </Action>
                </Macro>
                <Macro Name="Emulate Keystrokes: {Enter}">
                    <Event Name="MceRemote.4521" />
                    <Action>
                        Window.SendKeys(u'{Enter}', False)
                    </Action>
                </Macro>
            </Folder>
            <Folder Name="Mouse" id="27" Expanded="True">
                <Macro Name="Enable exclusive: D-PAD">
                    <Event Name="MceRemote.4522" />
                    <Action>
                        EventGhost.EnableExclusive(XmlIdLink(8))
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Up" Expanded="True">
                    <Event Name="MceRemote.4580" />
                    <Action>
                        Mouse.MoveRelative(None, -20)
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Down" Expanded="True">
                    <Event Name="MceRemote.4551" />
                    <Action>
                        Mouse.MoveRelative(-20, None)
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Left" Expanded="True">
                    <Event Name="MceRemote.4581" />
                    <Action>
                        Mouse.MoveRelative(None, 20)
                    </Action>
                </Macro>
                <Macro Name="Move Mouse Right" Expanded="True">
                    <Event Name="MceRemote.454D" />
                    <Action>
                        Mouse.MoveRelative(20, None)
                    </Action>
                </Macro>
                <Macro Name="Left mouse button double-click">
                    <Event Name="MceRemote.4521" />
                    <Action>
                        Mouse.LeftDoubleClick()
                    </Action>
                </Macro>
            </Folder>
        </Folder>
        <Macro Name="Emulate Keystrokes: {Backspace}">
            <Event Name="MceRemote.45EF" />
            <Action>
                Window.SendKeys(u'{Backspace}', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: i">
            <Event Name="MceRemote.4516" />
            <Action>
                Window.SendKeys(u'i', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: {Space}">
            <Event Name="MceRemote.4515" />
            <Action>
                Window.SendKeys(u'{Space}', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: p">
            <Event Name="MceRemote.4500" />
            <Action>
                Window.SendKeys(u'p', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: x">
            <Event Name="MceRemote.4514" />
            <Action>
                Window.SendKeys(u'x', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: .">
            <Event Name="MceRemote.4524" />
            <Action>
                Window.SendKeys(u'.', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: ,">
            <Event Name="MceRemote.4523" />
            <Action>
                Window.SendKeys(u',', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: f">
            <Event Name="MceRemote.4513" />
            <Action>
                Window.SendKeys(u'f', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: r">
            <Event Name="MceRemote.4519" />
            <Action>
                Window.SendKeys(u'r', False)
            </Action>
        </Macro>
        <Macro Name="Emulate Keystrokes: h">
            <Event Name="MceRemote.4584" />
            <Action>
                Window.SendKeys(u'h', False)
            </Action>
        </Macro>
    </Folder>
    <Folder Name="Close">
        <Macro Name="Close" id="77" Expanded="True">
            <Event Name="MceRemote.4520" />
            <Action Name="Kill BOXEE">
                System.Execute(u'C:\\Windows\\System32\\taskkill.exe', u'/F /IM BOXEE.exe', 0, True, 2, u'')
            </Action>
            <Action Name="Kill XBMC">
                System.Execute(u'C:\\Windows\\System32\\taskkill.exe', u'/F /IM XBMC.exe', 0, True, 2, u'')
            </Action>
            <Action Name="Kill Hulu">
                System.Execute(u'C:\\Windows\\System32\\taskkill.exe', u'/F /IM HuluDesktop.exe', 0, True, 2, u'')
            </Action>
        </Macro>
    </Folder>
    <Folder Name="Switch">
        <Macro Name="Switch to mode: XBMC">
            <Event Name="MceRemote.4529" />
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(77), 2, True)
            </Action>
            <Action>
                System.Execute(u'C:\\Program Files\\XBMC\\XBMC.exe', u'-p -fs', 0, False, 2, u'')
            </Action>
        </Macro>
        <Macro Name="Switch to mode: BOXEE">
            <Event Name="MceRemote.4528" />
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(77), 2, True)
            </Action>
            <Action>
                System.Execute(u'C:\\Program Files\\Boxee\\BOXEE.exe', u'', 2, False, 2, u'')
            </Action>
        </Macro>
        <Macro Name="Switch to mode: Hulu">
            <Event Name="MceRemote.4527" />
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(77), 2, True)
            </Action>
            <Action>
                System.Execute(u'C:\\Users\\Media\\AppData\\Local\\HuluDesktop\\HuluDesktop.exe', u'', 2, False, 2, u'')
            </Action>
        </Macro>
    </Folder>
    <Folder Name="Misc">
        <Macro Name="Master Volume: Up">
            <Event Name="MceRemote.4503" />
            <Action>
                System.ChangeMasterVolumeBy(4.0, 0)
            </Action>
            <Action>
                EventGhost.AutoRepeat(0.59999999999999998, 0.29999999999999999, 0.01, 3.0)
            </Action>
        </Macro>
        <Macro Name="Master Volume: Down">
            <Event Name="MceRemote.4506" />
            <Action>
                System.ChangeMasterVolumeBy(-4.0, 0)
            </Action>
            <Action>
                EventGhost.AutoRepeat(0.59999999999999998, 0.29999999999999999, 0.01, 3.0)
            </Action>
        </Macro>
        <Macro Name="Mute">
            <Event Name="MceRemote.4509" />
            <Action>
                System.ToggleMute(0)
            </Action>
        </Macro>
        <Macro Name="Forced: Turn Off Computer">
            <Event Name="MceRemote.4512" />
            <Action>
                System.PowerDown(True)
            </Action>
        </Macro>
        <Macro Name="Toggle drive tray: ">
            <Event Name="MceRemote.45F5" />
            <Action>
                System.OpenDriveTray('D:', 0)
            </Action>
        </Macro>
    </Folder>
</EventGhost>
1

Я использую контроллер Wii (Wiimote) в качестве «удаленного», это, безусловно, работает с выбранным вами средством запуска. :)

Вот учебник (для Windows, я уверен, что есть альтернативы для Linux).

(Если у вас нет Wii, вы можете купить Wiimote и сенсорную панель отдельно.)

0

Я написал один для моего HTPC для переключения между MediaPortal и XBMC.

Я сделал его доступным для загрузки и настраиваемым для запуска любого приложения с пульта.

Это аккуратная, информативная программа, которая делает следующее:-

  • Позволяет пользователю переключаться между популярными приложениями HTPC, такими как MediaPortal, XBMC, Windows Media Center и многими другими, не выходя из своего кресла; с вашим дистанционным управлением. (Навигация пульта и кнопки выбора должны совпадать с клавишами со стрелками на клавиатуре и вводить)
  • Отображает частоту обновления экрана.
  • Предоставляет сводную информацию об использовании жесткого диска. Оставшееся пространство для записанного ТВ и пропорции используемого пространства для фильмов, сериалов и записанных программ.
  • Скрывает все значки на рабочем столе и восстанавливает их при выходе из программы.
  • Настраивается для запуска любого приложения по вашему выбору (максимум три)
  • Может быть сделано для запуска при загрузке Windows.
  • Окно программы можно расположить на пульте, чтобы оно не испортило обои рабочего стола.
  • Восстановление базы данных MediaPortal SQL одним нажатием клавиши.

Мой блог по этой ссылке объясняет, как скачать и настроить лаунчер. HTPC Launcher

0

Вы упомянули, что вас устраивает либо Windows, либо Linux, значит ли это, что вы будете устанавливать новую ОС? Одна вещь, о которой я упоминал, - это Mythbuntu для HTPC /Media Center. Честно говоря, я ничего об этом не знаю, но на это стоит посмотреть.

0
  1. Вы можете использовать рабочий стол Windows в качестве запуска. В Windows 7 мои удаленные кнопки со стрелками Media Center работают как кнопки со стрелками на клавиатуре. Таким образом, любое приложение, которое реагирует на кнопки со стрелками, будет работать для вас. Есть кнопка Ok/Enter, которая действует как Enter. Таким образом, вы можете просто поставить ярлыки для нужных программ на рабочем столе (и, вероятно, ничего больше), и пользователи могут запускать из них. Вы также можете скрыть панель задач и сделать значки действительно большими, чтобы они не выглядели как на рабочем столе. Если есть какие-либо существующие средства запуска для Windows, которые реагируют на клавиши со стрелками и вводят, они уже должны работать.
  2. В качестве альтернативы вы можете использовать Visual Studio 2008 Express (бесплатно) или что-то похожее для написания приложения, которое просто отображает набор кнопок в окне без полей размером с ваш монитор. Положите изображения на кнопки, соответствующие действию. Подключите каждую кнопку, чтобы запустить любое приложение, которое вы хотите. Клавиши со стрелками на пульте дистанционного управления перемещают фокус с кнопки на кнопку.
  3. Используя LIRC в Linux или Girder в Windows, вы можете настроить свой ПК так, чтобы он реагировал на пульт практически любым способом, который только можно себе представить. Таким образом, вы можете отображать нажатия клавиш на нажатия кнопок или запускать программы в ответ на нажатия кнопок и так далее. При запуске вы можете запустить программу просмотра изображений в полноэкранном режиме без каких-либо границ с надписью «нажмите 1, чтобы перейти к музыке, 2 для просмотра ТВ» ... и т.д.
0

Вы можете попробовать UICE.

Я сам этим не пользовался, но обзор возможностей показывает, что экранное меню может дать вам то, что вам нужно, даже если это не красиво.

Скриншот

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .