Вернуться   МПМ Былины - Мир Древней Руси > Для игроков > Клиенты для игры

Клиенты для игры Все что связано с клиентами для игры. Jmc, MMC, ZMud etc...

Ответ
 
Опции темы Опции просмотра
Старый 11.12.2006, 10:14   #1
r0mich
Знакомый Мадера
 
Регистрация: 30.04.2006
Адрес: Волгоград
Сообщений: 76
По умолчанию Панель NumLock в mmc

Как в mmc настроить бинды на клавиши цифровой панели, включая использование находящегося там Enter и комбинаций, включающих Ctrl, Alt и Shift?
r0mich вне форума   Ответить с цитированием
Старый 11.12.2006, 16:21   #2
Раххаль
Старший Мадер
 
Регистрация: 06.03.2004
Адрес: Москва
Сообщений: 239
По умолчанию

Если запустить mmc с ключом -k, то при нажатии клавиш в строке статуса будут показываться их обозначения, пригодные для подстановки в bind (или bindkey).
Раххаль вне форума   Ответить с цитированием
Старый 11.12.2006, 16:36   #3
r0mich
Знакомый Мадера
 
Регистрация: 30.04.2006
Адрес: Волгоград
Сообщений: 76
По умолчанию

При включенном NumLock это обычные цифры, при выключенном - стрелки, PgUp итд. В обоих случаях задание биндов приведет к потере возможности использования их для других надобностей (например в сообщениях). Комбинации с Ctrl не определяются.
r0mich вне форума   Ответить с цитированием
Старый 11.12.2006, 18:45   #4
lexik
Админ форума
 
Регистрация: 05.03.2004
Сообщений: 635
По умолчанию

рецепт для юнихов под X-Windows
Код:
MMC и XTerm

Наверняка многие, кто использовал mmc на *nix-системах, столкнулись с некоторыми проблемами при использовании совместно с X-Window, а именно отсутствием цветов и невозможностью использовать сочетания клавиш типа Ctrl+Alt+F5. Я решил эти проблемы для себя и хочу поделиться своим опытом.

Во-первых, цвета. MMC запускается в цветном режиме, если определена переменная окружения COLOR_TERM или текущий терминал называется "xterm-color". Так как я использую xterm, то воспользовался вторым способом - за одно многие другие программы "научились" узнавать, что им можно использовать цвета. Добавьте в файл ~/.Xdefaults строку следующего вида:

══ XTerm*TermName: xterm-color

Далее, клавиатура. Для того, чтобы корректно работал keypad (клавиши k0..k9, k*, k/, k+. k-) необходимо в ~/.Xdefaults добавить строки:

!if ServerNumLock in XF86Config, these lines useless

XTerm*VT100*translations:══ #override \

═══ @Num_Lock <Key>KP_Multiply: string("\033Oj")\n \

═══ @Num_Lock <Key>KP_Add: string("\033Ok")\n \

═══ @Num_Lock <Key>KP_Decimal: string("\033Ol")\n \

═══ @Num_Lock <Key>KP_Subtract: string("\033Om")\n \

═══ @Num_Lock <Key>KP_Divide: string("\033Oo")\n

!/

XTerm*VT100*translations:══ #override \

═══ @Num_Lock <Key>KP_0: string("\033Op")\n \

═══ @Num_Lock <Key>KP_1: string("\033Oq")\n \

═══ @Num_Lock <Key>KP_2: string("\033Or")\n \

═══ @Num_Lock <Key>KP_3: string("\033Os")\n \

═══ @Num_Lock <Key>KP_4: string("\033Ot")\n \

═══ @Num_Lock <Key>KP_5: string("\033Ou")\n \

═══ @Num_Lock <Key>KP_6: string("\033Ov")\n \

═══ @Num_Lock <Key>KP_7: string("\033Oy")\n \

═══ @Num_Lock <Key>KP_8: string("\033Ow")\n \

═══ @Num_Lock <Key>KP_9: string("\033Ox")\n

Теперь при нажатой клавише NumLock будут возвращаться нужные последовательности. Учтите только, что в конфигурации X-Window не должна быть выставлена опция ServerNumLock!

Теперь, нужно научить MMC должным образом реагировать на возвращаемые последовательности. Пропишите в ~/.mmc4rc команду:

CL::addkey("\033O" . chr($_ + ord('p')), "k" . chr($_ + ord('0'))) for 0..9;

или в приглашении MMC напишите

/perl {CL::addkey("\033O" . chr($_ + ord('p')), "k" . chr($_ + ord('0'))) for 0..9}

Теперь научи MMC правильно реагировать на функциональные клавиши в сочетании с различными модификаторами:

my @metaname = ("S", "M", "S-M", "C", "S-C", "C-M", "S-M-C");

for my $mod (2..8) {

═══ CL::addkey("\033O${mod}".═ chr($_ + ord('P') - 1), ${metaname}[$mod - 2] ."-f". $_ ) for

═══ CL::addkey("\033[". scalar $_+10 .";${mod}~" , ${metaname}[$mod - 2] ."-f". $_ ) for 5;

═══ CL::addkey("\033[". scalar $_+11 .";${mod}~" , ${metaname}[$mod - 2] ."-f". $_ ) for 6..1

═══ CL::addkey("\033[". scalar $_+12 .";${mod}~" , ${metaname}[$mod - 2] ."-f". $_ ) for 11..

}

Удобно вынести все команды MMC в отдельный модуль и подключать его из ~/.mmc4rc. У меня он называется xterm.pm, подключается (в ~/.mmc4rc) командой

═ use xterm;

В заключение полностью приведу содержимое моего файла Xdefaults и xterm.pm:

---- ~/.Xdefaults ----

!XTerm*VT100*numLock: true

XTerm*TermName: xterm-color

!if ServerNumLock in XF86Config, these lines useless

XTerm*VT100*translations:══ #override \

═══ @Num_Lock <Key>KP_Multiply: string("\033Oj")\n \

═══ @Num_Lock <Key>KP_Add: string("\033Ok")\n \

═══ @Num_Lock <Key>KP_Decimal: string("\033Ol")\n \

═══ @Num_Lock <Key>KP_Subtract: string("\033Om")\n \

═══ @Num_Lock <Key>KP_Divide: string("\033Oo")\n \

!/

!mmc: CL::addkey("\033O" . chr($_ + ord('p')), "k" . chr($_ + ord('0'))) for 0..9;

XTerm*VT100*translations:══ #override \

═══ @Num_Lock <Key>KP_0: string("\033Op")\n \

═══ @Num_Lock <Key>KP_1: string("\033Oq")\n \

═══ @Num_Lock <Key>KP_2: string("\033Or")\n \

═══ @Num_Lock <Key>KP_3: string("\033Os")\n \

═══ @Num_Lock <Key>KP_4: string("\033Ot")\n \

═══ @Num_Lock <Key>KP_5: string("\033Ou")\n \

═══ @Num_Lock <Key>KP_6: string("\033Ov")\n \

═══ @Num_Lock <Key>KP_7: string("\033Oy")\n \

═══ @Num_Lock <Key>KP_8: string("\033Ow")\n \

═══ @Num_Lock <Key>KP_9: string("\033Ox")\n \

═══ Ctrl <Key>Return: string("\033OM")\n

XTerm*VT100*font: -screen-fixed-medium-*-*-*-*-*-*-*-*-*-koi8-r

XTerm*VT100*deleteIsDEL: true

XTerm*VT100*background: black

XTerm*VT100*foreground: white

---- end ----

---- ~/xterm.pm ----

# k0..k9

CL::addkey("\033O" . chr($_ + ord('p')), "k" . chr($_ + ord('0'))) for 0..9;

# mod-Fx

my @metaname = ("S", "M", "S-M", "C", "S-C", "C-M", "S-M-C");

for my $mod (2..8) {

═══ CL::addkey("\033O${mod}".═ chr($_ + ord('P') - 1), ${metaname}[$mod - 2] ."-f". $_ ) for

═══ CL::addkey("\033[". scalar $_+10 .";${mod}~" , ${metaname}[$mod - 2] ."-f". $_ ) for 5;

═══ CL::addkey("\033[". scalar $_+11 .";${mod}~" , ${metaname}[$mod - 2] ."-f". $_ ) for 6..1

═══ CL::addkey("\033[". scalar $_+12 .";${mod}~" , ${metaname}[$mod - 2] ."-f". $_ ) for 11..

}

1;

---- end ----

-- 

Andrew I Baznikin
__________________
©º°¨¨°º© МПМ "Былины" ©º°¨¨°º© Мир преданий и сказаний Древней Руси
lexik вне форума   Ответить с цитированием
Старый 17.01.2007, 09:25   #5
r0mich
Знакомый Мадера
 
Регистрация: 30.04.2006
Адрес: Волгоград
Сообщений: 76
По умолчанию

Перепробовал этот метод в различных ракурсах, не работает.
Не понятно, в \033O последним знаком действительно должна быть буква о, а не ноль?
Как проверить, включен ли ServerNumLock?
В общем в FreeBSD 6.2, при выключенном NumLock, работают как нужно только /*-+, при включенном - вообще ничего.
r0mich вне форума   Ответить с цитированием
Старый 18.01.2007, 00:00   #6
lexik
Админ форума
 
Регистрация: 05.03.2004
Сообщений: 635
По умолчанию

Цитата:
Сообщение от r0mich
Перепробовал этот метод в различных ракурсах, не работает.
такого быть не может, у всех работает у тебя нет смотри настройки терминала и т.д. в rxvt терминале 100% работает
__________________
©º°¨¨°º© МПМ "Былины" ©º°¨¨°º© Мир преданий и сказаний Древней Руси
lexik вне форума   Ответить с цитированием
Старый 18.01.2007, 08:46   #7
r0mich
Знакомый Мадера
 
Регистрация: 30.04.2006
Адрес: Волгоград
Сообщений: 76
По умолчанию

Использовал раньше xterm, установил rxvt из портов, впервые увидел Былины на японском языке.
ЗЫ как эту шнягу руссифицировать? в BSD я ламер
ЗЗЫ зато раскладка нумпада работает
ЗЗЗЫ блин, дошло, просто не из той папки заинсталлил

Последний раз редактировалось r0mich; 18.01.2007 в 08:58. Причина: я - ламерюга!!!
r0mich вне форума   Ответить с цитированием
Старый 18.01.2007, 09:26   #8
r0mich
Знакомый Мадера
 
Регистрация: 30.04.2006
Адрес: Волгоград
Сообщений: 76
По умолчанию

Все-таки осталась одна проблемка: при нажатии 2 на нумпаде вызывается бинд k7 почему-то
r0mich вне форума   Ответить с цитированием
Ответ


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

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

Быстрый переход


Часовой пояс GMT +4, время: 02:16.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot