Переназначить горячие клавиши

Обсуждение программ nnCron и nnCron LITE

Переназначить горячие клавиши

Postby Morituruz » Sun, 06 Jun 2010, 17:22

Имеется китайский пульт управления для компьютера, приёмник которого определяется как HID клавиатура. Принцип работы такой: при нажатии кнопки на пульте приёмник отсылает соответствующий хоткей.
Проблема в том, что хоткеи для одной программы, а мне нужно в винамп.
Список основных горячих клавиш пульта:

play - ctrl shift p
pause - ctrl p
stop - ctrl s
rewind - ctrl shift d
fast forward - ctrl shift f
previous - ctrl b
next - ctrl f

Сами понимаете, не самые последние сочетания.

Хотел было попробовать по одному хоткею включать/отключать другие, но не работает.
Code: Select all
#( CLASSIC-TASK-#-w_pause
NoActive
WatchHotKey: "^{0x50}"
SingleInstance
Action:
winamp_activated? @
IF
   WIN-ACTIVATE: "Winamp v1.x"
   0 40046 273 WIN-HWND SendMessageA DROP
ELSE
   SEND-KEYS: "^p"
THEN
)#

#( CLASSIC-TASK-#-w_activate
WatchHotKey: "^{0x52}"
Action:
winamp_activated?  @
IF
   winamp_activated? OFF
   CLASSIC-TASK-#-w_pause @ CF-ACTIVE CLR-CRON-FLAG
ELSE
   winamp_activated? ON
   CLASSIC-TASK-#-w_pause @ CF-ACTIVE SET-CRON-FLAG
THEN
)#


Задача в том, чтобы переназначить горячие клавиши выборочно под винамп, чтобы в других приложениях работали как обычно.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Mon, 07 Jun 2010, 10:26

Надо так:
Code: Select all
#( CLASSIC-TASK-#-w_pause
WatchHotKey: "^{0x50}"
Rule: S" Winamp v1.x" WIN-ACTIVE? ;
SingleInstance
Action:
0 40046 273 WIN-HWND SendMessageA DROP
)#

Тогда хоткей будет работать только для выбранного приложения.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Переназначить горячие клавиши

Postby Morituruz » Mon, 07 Jun 2010, 10:58

Если бы всё так просто, в другом приложении-то ctrl+p уже работать не будет. Более того, оно почему-то превращается в ctrl+0.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Mon, 07 Jun 2010, 15:00

Либо так:
Code: Select all
<%
: WAIT-KUP ( VK -- )  \ Ждать поднятия кнопки с кодом VK
  BEGIN DUP KEY-PRESSED? WHILE
  50 PAUSE
  REPEAT DROP ;
%>

#( CLASSIC-TASK-#-w_pause
WatchHotKey: "^{0x50}"
Rule: S" Winamp v1.x" WIN-ACTIVE? ;
SingleInstance
Action:
VK_CONTROL WAIT-KUP
0x50 WAIT-KUP
0 40046 273 WIN-HWND SendMessageA DROP
)#

Либо так(необходим плагин SendInput):
Code: Select all
<%
: WAIT-KUP ( VK -- )  \ Ждать поднятия кнопки с кодом VK
  BEGIN DUP KEY-PRESSED? WHILE
  50 PAUSE
  REPEAT DROP ;
%>

#( CLASSIC-TASK-#-w_pause
WatchHotKey: "^{0x50}"
SingleInstance
Action:
VK_CONTROL WAIT-KUP
0x50 WAIT-KUP
S" Winamp v1.x" WIN-ACTIVE?
IF
  0 40046 273 WIN-HWND SendMessageA DROP
ELSE
  Ctrl( [CHAR] P AKEY )Ctrl
THEN
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Переназначить горячие клавиши

Postby Morituruz » Mon, 07 Jun 2010, 15:14

ругается на это:
Code: Select all
  BEGIN DUP KEY-PRESSED? WHILE
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Mon, 07 Jun 2010, 19:16

Плагин keystate.spf подключи.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Переназначить горячие клавиши

Postby Morituruz » Mon, 07 Jun 2010, 19:38

Всё равно ни так ни так не работает, во первом варианте превращается опять в ctrl+0.
Во втором варианте ничего не происходит.

В принципе не так важно отсылать сигнал именно окну, можно и на глобальную горячую клавишу винампа, для паузы у меня {NUMPAD8}.

Жаль, что при изменении статуса CF-ACTIVE не включается привязка горячих клавиш.

Так же не удалось найти, можно ли изменить горячие клавиши непосредственно самого окна винампа.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Mon, 07 Jun 2010, 21:15

А драйверы приемника настраиваются? Или может можно перепрошить/заменить приемник?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Переназначить горячие клавиши

Postby Morituruz » Mon, 07 Jun 2010, 21:36

Драйвер виндовый. Приёмник просто определяется как клавиатура, и для системы видимо нет разницы, нажимаю я ctrl+p на основной клавиатуре или нажимаю паузу на пульте.
Вот собственно о чём речь:
http://www.dealextreme.com/details.dx/sku.9877
Никаких возможностей для настройки за такие деньги не предусмотрено.
Я полагал проблему горячих клавиш можно решить без особых выкрутасов, тем более качество самого плеера меня вполне устраивает.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Mon, 07 Jun 2010, 22:18

Немного поискав по теме подключения двух клавиатур как разных девайсов, наткнулся на следующие варианты решения:
http://www.wmprogram.ru/
http://www.ef1.ru/soft/betwin2000xp/index.htm
http://www.ibik.ru/
http://www.files.pkhl.ru/2klavyfor_PES_5.rar
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Переназначить горячие клавиши

Postby Morituruz » Mon, 07 Jun 2010, 22:41

Есть один маленький нюанс, у меня XPx64, в программе из мануала для песа драйвер 32-битный.
Что касается клиентов тонких и не очень - по-моему это из пушки по воробьям, проще запустить убогий vlc плеер, но всё же не хочется.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Tue, 08 Jun 2010, 07:11

Какие еще тонкие клиенты? Там вообще программы для одновременной работы нескольких пользователей за одним ПК - они могут разруливать несколько клавиатур и мышек.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Переназначить горячие клавиши

Postby makrus » Tue, 08 Jun 2010, 16:24

Moriturus
...по-моему это из пушки по воробьям, проще запустить убогий vlc плеер, но всё же не хочется.
Может я чего не понял, но проблема вроде не в Winamp'е (для управления которым, кстати, есть плагин Winamp.spf, правда версии 2 и 5, а ты первой, вроде, версией пользуешься), а в том что бы заставить винду использовать отправку других нажатий клавиш от приемника, а это IMHO, решается на уровне драйверов. Если драйвера винды, то пробовать поискать другие версии подобного драйвера, либа попробовать разобраться/изменить с текущим.
Ну или действительно использовать/искать софт для "разруливания нескольких клавиатур".
все познается в сравнении
makrus
 
Posts: 336
Joined: Mon, 12 Jul 2004, 14:46
Location: Волгоград

Re: Переназначить горячие клавиши

Postby Morituruz » Tue, 08 Jun 2010, 18:22


две не установились, betwin2000/xp стоит немало
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Переназначить горячие клавиши

Postby VoidVolker » Tue, 08 Jun 2010, 18:42

Первые три линка, что мне попались. Думаю, что стоит еще поискать другие аналогичные утилиты.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest