Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Помощь и поддержка > Поддержка платформы Windows

Ответ
 
Опции темы Опции просмотра
Старый 15.05.2014, 16:24   #1
Alkaline
Member
 
Регистрация: 15.05.2014
Сообщений: 37
По умолчанию Переназначение стандартных кнопок или команд XBMC Remote

Требуется переназначить действия пары кнопок, например, на кнопку стоп (или субтитры) повесить паузу (или другую команду, мне нужно кое-что из новых, XBMC.CECActivateSource). Более конкретно: эти новые действия должны выполняться при посыле команды с Official XBMC Remote (для iphone, если важно). Копал в сторону переопределения keyboard.xml, но XBMC Remote, похоже, использует свой протокол, и действия выполняются непосредственно, как обозначены. Так же с кликом по кнопкам управления в самом XBMC. Получается, keyboard.xml позволяет переназначить только клавиатурные команды (mouse.xml не то, remote.xml - тоже не то...). Можно ли как-то реализовать хотелку? Или уже задуматься о переписывании и компилировании исходников
Alkaline вне форума   Ответить с цитированием
 

Старый 16.05.2014, 16:18   #2
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,943
По умолчанию

"Маркс и Энгельс - два разных человека..." (с)
Ну какое отношение имеет сторонняя программа, работающая через сеть, к клавиатуре?

Сторонние программы управления общаются с XBMC по сети при помощи протокола JSON-RPC. Хотите сделать что-то под себя, напишите свою программу, с преферансом и гимназистками.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 16.05.2014, 16:57   #3
Alkaline
Member
 
Регистрация: 15.05.2014
Сообщений: 37
По умолчанию

Я готов и к такому ответу. Спасибо, что-то новое узнал уже. Но хотелось бы еще (помощи и конкретики).

Программа не совсем сторонняя. Она называется Official XBMC Remote.

К клавиатуре мой вопрос относится постольку, поскольку рядом с файлом keyboard.xml лежат файлы mouse.xml, remote.xml и еще штук 10 для джойстиков. Я подумал, может, есть какой-то json-rpc.xml, например. Также я _предположил_, что настройка XBMC типа "Отправлять нажатия клавиш" может быть как-то задействована...

Ну, а в целом, даже если я думаю не в ту сторону, я описал хотелку - то, что мне надо. А надо мне включить телевизор командой CEC-HDMI, причем желательно из того же пульта ДУ, которым я буду выбирать фильм (чтобы не запускать кучу приложений)...
Alkaline вне форума   Ответить с цитированием
Старый 16.05.2014, 17:03   #4
Alkaline
Member
 
Регистрация: 15.05.2014
Сообщений: 37
По умолчанию

И вдогонку: зачем же писать новую программу, когда можно поправить исходники существующей? В крайнем случае, конечно, если не будет других решений. Например, возможно, проще будет написать аддон, который контролировал бы нажатие кнопки стоп (это технически возможно?) или попытку включения субтитров (и вместо них посылал бы команду телику).

PS: Маркс и Энгельс, конечно, не супруги, но часто их упоминают в одном контексте - и неспроста...
Alkaline вне форума   Ответить с цитированием
Старый 16.05.2014, 17:21   #5
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,943
По умолчанию

Цитата:
Сообщение от Alkaline Посмотреть сообщение
Я готов и к такому ответу. Спасибо, что-то новое узнал уже. Но хотелось бы еще (помощи и конкретики).
Задавайте конкретные вопросы, постараюсь подсказать. С JSON-RPC я экспериментировал, поэтому некоторое представление имею.

Цитата:
Программа не совсем сторонняя. Она называется Official XBMC Remote.
Имелось в виду, что программа работает ХЕЗ где на отдельном устройстве.

Цитата:
К клавиатуре мой вопрос относится постольку, поскольку рядом с файлом keyboard.xml лежат файлы mouse.xml, remote.xml и еще штук 10 для джойстиков. Я подумал, может, есть какой-то json-rpc.xml, например. Также я _предположил_, что настройка XBMC типа "Отправлять нажатия клавиш" может быть как-то задействована...
Методы JSON-RPC "прошиты" в базовом коде XBMC, который написан на C/C++. И для большей ясности: в ХВМС нет понятия "нажатие клавиши", у него есть понятие "событие управления". И упомянутые файлы как раз служат для привязки органов управления соответствующих устройств (кнопки пульта/клавиатуры и т. п.) к событиям XBMC. Для JSON-RPC такой привязки нет, они сами по себе отдельные события, и возможности протокола шире, чем просто управление базовыми функциями.

Цитата:
Ну, а в целом, даже если я думаю не в ту сторону, я описал хотелку - то, что мне надо. А надо мне включить телевизор командой CEC-HDMI, причем желательно из того же пульта ДУ, которым я буду выбирать фильм (чтобы не запускать кучу приложений)...

Не уверен, что стандартная версия XBMC вообще поддерживает CEC-HDMI. По-моему, только в версии для Paspbery-PI, т. к. нужна еще поддержка со стороны железа.

Цитата:
Сообщение от Alkaline Посмотреть сообщение
И вдогонку: зачем же писать новую программу, когда можно поправить исходники существующей?
Если исходники программы открыты, то да, можно поменять команды JSON-RPC, отправляемые при нажатии тех или иных экранных кнопок программы.
Подробнее не подскажу, т. к. немного знаю только Pyton и C#, а проги под яблодевайсы, насколько я знаю, пишутся на Objective-C.

Цитата:
Например, возможно, проще будет написать аддон, который контролировал бы нажатие кнопки стоп (это технически возможно?) или попытку включения субтитров (и вместо них посылал бы команду телику).
А вот это как раз невозможно. Вообще, возможности аддонов по взаимодействию с XBMC достаточно ограничены, и они уж точно не могут влезать в обработку событий, что есть прерогатива базового кода.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 16.05.2014, 17:36   #6
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 856
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Цитата:
Сообщение от Alkaline Посмотреть сообщение
Требуется переназначить действия пары кнопок, например, на кнопку стоп (или субтитры) повесить паузу
Зачем?


Цитата:
Сообщение от Alkaline Посмотреть сообщение
(или другую команду, мне нужно кое-что из новых, XBMC.CECActivateSource).
Можно соорудить самодельный аддон из трех строчек:
PHP код:
# -*- coding: utf-8 -*-
import xbmc
xbmc
.executebuiltin('XBMC.CECActivateSource'
И добавить вот так (такая возможность появилось пару недель назад)
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 16.05.2014, 17:37   #7
Alkaline
Member
 
Регистрация: 15.05.2014
Сообщений: 37
По умолчанию

Я не могу еще задавать вопросы конкретнее, но ваши ответы помогают мне понять и задавать другие.

CEC-HDMI у XBMC есть. Новые команды для управления по HDMI появились с версии 13. А чтобы это поддерживалось на аппаратном уровне, я прикупил контроллер - встроенную платку USB-CEC (вот тут http://pulse-eight.com/ есть и внешний вариант, но к счастью, моя материнка - одна из подходящих для внутреннего контроллера). У меня все работает, хотя реально мне нужно только включение/выключение (последнее не работает на моем телике LG, но это отдельная история, она решается командой по IP (http), которое не может включить телик, но это все фигня - я добью этих гадов))))). Даже XBMC-ой я могу управлять с помощью пульта от телика (правда, после длинной паузы он отваливается, но у меня чаще в руках айфон с XBMC Remote).

"Опыт" программирования у меня - VBA под MS Ofiice и курсы Питона, но я учусь, и до сей доберусь, если надо будет. Сорцы есть для обоих продуктов (и ремоута, и самого плеера), вопрос - что проще допилить и нет ли более простого решения. В принципе, я задам вопрос и там, но решил начать с русскоязычного форума.

Если будут еще какие идеи/мысли - буду рад услышать.

Последний раз редактировалось Alkaline; 16.05.2014 в 17:43.
Alkaline вне форума   Ответить с цитированием
Старый 16.05.2014, 17:42   #8
Alkaline
Member
 
Регистрация: 15.05.2014
Сообщений: 37
По умолчанию

2DiMartino: очень интересно, можно чуть подробнее: как (и где) создать файл для аддона? Далее, мне действительно не надо вешать паузу на стоп, это я для примера написал, надо было сразу сказать, что для CEC. Но в любом случае, я уже пробовал прикрутить в то меню ремоута свою команду, и увидел только встроенные команды, а как появится новая (моя, из аддона)?

Но такое решение подошло бы!
Alkaline вне форума   Ответить с цитированием
Старый 16.05.2014, 17:52   #9
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 856
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Цитата:
Сообщение от Alkaline Посмотреть сообщение
2DiMartino: очень интересно, можно чуть подробнее: как (и где) создать файл для аддона? Далее, мне действительно не надо вешать паузу на стоп, это я для примера написал, надо было сразу сказать, что для CEC. Но в любом случае, я уже пробовал прикрутить в то меню ремоута свою команду, и увидел только встроенные команды, а как появится новая (моя, из аддона)?

Но такое решение подошло бы!
У меня CEC нет, проверить не могу. Установи этот аддон. Подробнее об аддонах есть http://habrahabr.ru/post/193374/
Это видеоаддон, но можешь потом скрипт сделать, для этого нужно будет поменять название и что-нибудь в addon.xml, читай вики на xbmc.org.
Картинку тоже поменяй на какую хочешь.
Вложения
Тип файла: zip plugin.video.CECactive.zip (37.1 Кб, 11 просмотров)
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 16.05.2014, 17:53   #10
Alkaline
Member
 
Регистрация: 15.05.2014
Сообщений: 37
По умолчанию

И вот еще: а вместо команды xbmc.executebuiltin('XBMC.CECActivateSource') в другом аддоне можно код на питоне вставить? Это уже для выключения, чтобы по http находить телик и гасить его. Можно запуск экзешника (или скомпилирую) или .py на выполнение системе...
Alkaline вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переназначение кнопок пульта ДУ -ROKER- Подсказки, описания и FAQ по XBMC 124 13.06.2018 06:40
Скрипт для переназначения кнопок serzh82saratov Поддержка платформы Windows 156 03.05.2014 20:38
Назначение кнопок ДУ Pavlys Поддержка платформы Windows 6 23.03.2012 11:18
Remote HD и Remote Pro apps для iPhone appleist Поддержка платформы Mac 8 27.02.2012 16:29
Выполнение команд из консоли aivs Поддержка платформы Linux \ Live 2 21.04.2011 17:57


Текущее время: 22:10. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.