Feature #987
closedМультимедийные клавиши
Added by DA over 11 years ago. Updated over 11 years ago.
100%
Description
Прошу реализовать
- полноценную работу с клавишами с соотвествующими аудиоплееру функциями;
- возможность биндинга прочих клавиш на другие удобные функции, например, отобразить уведомление с информацией о текущем трекер или развернуть окно личкрафтов с открытой активной вкладкой проигрывателя.
Updated by Mellon over 11 years ago
В общем, первая хрень должна изкаропки работать: просто биндить на XF86Audio*, если не биндится - значит баг.
Если кейкод не распознается иксами - значит проблемы иксов.
Если клавиши ваще левые и не выдают нормальный кейкод - то проблема драйвера конкретного девайса.
Updated by DA over 11 years ago
В общем, первая хрень должна изкаропки работать: просто биндить на XF86Audio*, если не биндится - значит баг.
Реквестирую нормальные интерфейсы, гуглить названия кнопок — моветон.
Если кейкод не распознается иксами - значит проблемы иксов.
Если клавиши ваще левые и не выдают нормальный кейкод - то проблема драйвера конкретного девайса.
В qmmp всё описанное выше работает.
Updated by 0xd34df00d over 11 years ago
- Status changed from New to Third-party bug
- % Done changed from 0 to 100
Updated by 0xd34df00d over 11 years ago
Если убедишься, что я могу скопировать qxtglobalshortcut.h к себе в сорсы и не поиметь проблем с лицензией что сейчас, что потом с MIT/BSD — я так и сделаю и тупо отвяжусь от Qxt.
Updated by DA over 11 years ago
Я хочу поменять лицензию, поэтому не буду делать полезный функционал? Алсо "CPL-1.0 and LGPL-2.1" — тырить нельзя без сохранения лицензии. Проприетарщики и прочие юзеры личкрафтов в пролёте?
Updated by 0xd34df00d over 11 years ago
Я не буду делать полезный функционал, потому что не могу сделать платформозависимую штуку за незнанием платформенных API, а ждать, пока появится кто-то и заимплементит функционал QxtGlobalShortcut, можно долго.
Updated by DA over 11 years ago
Ненужные пользователям лицензиепроблемы. Если тебя так попёрло, сделай для модуля глобальных клавиш двойное лицензирование.
Updated by 0xd34df00d over 11 years ago
В душе не шарю, как это сделать. В общем, расскажи, как правильнее поступить с лицензиями, а с меня код.
Updated by DA over 11 years ago
Если я правильно понимаю, ты волен навесить на проект или любую его часть любое количество любых лицензий. См. в сторону лисы, например: MPL несовместима с GPL, но двойное лицензирование позволило им и юзать гпльный шлаг, и при необходимости скрывать сорцы в форках. Вообще за этим лучше к Технику.
Updated by Mellon over 11 years ago
В общем, ничего не понял, о чем вы. НО сделал вот так http://dump.bitcheese.net/images/emynavy/screenshot.png
А оно не работает. В смысле не реагирует на нажатия
Updated by Mellon over 11 years ago
DA wrote:
Реквестирую нормальные интерфейсы, гуглить названия кнопок — моветон.
Эм.. Зачем гуглить? иксы сами определяют кнопки и нормально предают личам. На картинке выше показано.
В qmmp всё описанное выше работает.
Значит иксы нормально подхватили мультимедия-клавиши и они должны работать как самые обыкновенные клавиши по всем иксам.
Updated by Mellon over 11 years ago
херота.
Ок. DA, у нас всегда есть ход конем:
вешаем иксовыми/дешными биндилками на мультимедиаклавиши
qdbus org.mpris.MediaPlayer2.LMP /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
или что ещё есть в
% qdbus org.mpris.MediaPlayer2.LMP /org/mpris/MediaPlayer2 | grep method.*org.mpris.MediaPlayer2.Player method void org.mpris.MediaPlayer2.Player.Next() method void org.mpris.MediaPlayer2.Player.OpenUri(QString Uri) method void org.mpris.MediaPlayer2.Player.Pause() method void org.mpris.MediaPlayer2.Player.Play() method void org.mpris.MediaPlayer2.Player.PlayPause() method void org.mpris.MediaPlayer2.Player.Previous() method void org.mpris.MediaPlayer2.Player.Seek(qlonglong Offset) method void org.mpris.MediaPlayer2.Player.SetPosition(QDBusObjectPath TrackId, qlonglong Position) method void org.mpris.MediaPlayer2.Player.Stop()
алсо можно привязать к личам, можно завернуть в комплексный скипт оценивающий наличие интерфейсов MPRIS и активность плееров и тд и тп - прям раздолье для наколенного велосипедостроения
Updated by DA over 11 years ago
Годно, спасибо. Алсо осталось реализовать вторую половину :)
Updated by 0xd34df00d over 11 years ago
На самом деле не нужно. Лучше попробовать сделать gacts под двойной лицензией.
Updated by 0xd34df00d over 11 years ago
- Status changed from Third-party bug to Reopened
- Target version set to 0.5.95
- Estimated time set to 5:00 h
Updated by 0xd34df00d over 11 years ago
- Status changed from Reopened to Closed
Добавил возможность использования модулем GActs встроенной qxt (и саму встроенную пропатченную qxt), включена по дефолту, регулируется флагом WITH_GACTS_BUNDLED_QXT
симейка. Когда включено, очевидно, зависимости от Qxt нет.
Смотрите сами, чо там с зависимостями, лицензиями и прочим счастьем.
Updated by 0xd34df00d over 11 years ago
- Category changed from Plugins: LMP to Plugins: GActs