TechInfo #48 — UseNumPad

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.

<t>Что делать с TechInfo #48</t>

Удалить этот TI + различать клавиши на основной и цифровой клавиатуре
7
37%
Оставить TI, но по умолчанию сделать UseNumPad = 1
8
42%
Оставить все как есть
4
21%
 
Total votes: 19

User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

TechInfo #48 — UseNumPad

Post by Skirda »

Судя по количеству постов в форуме по поводу сабжа родилась голосовалка.

На всякий случай напомню текст TI:

Code: Select all

1.2.18.(TechInfo #48)
~~~~~~~~~~~~~~~~~~~~~
   [HKEY_CURRENT_USER\Software\Far\System]
   "UseNumPad":REG_DWORD
   Параметр "System/UseNumPad" с типом DWORD включает механизм, позволяющий
   различать клавиши на цифровой клавиатуре по отношению к  дублирующим  их
   клавишам на основной клавиатуре.  При  включенном  механизме,  например,
   клавиша Ctrl-Numpad7 будет обрабатываться как CtrlNum7, при  выключенном
   - как CtrlHome.
   Известные проблемы:
       В диалоге назначения  макроклавиши  могут  возникнуть  проблемы  для
       сочетаний Shift-NumpadN при  включенном  NumLock  и  любом  значении
       "System/UseNumPad".
   Может быть одним из следующих значений:
     0 - не различать клавиши на основной и цифровой клавиатуре.
     1 - различать клавиши на основной и цифровой клавиатуре.
   По умолчанию значение = 0 (не различать).
User avatar
Smitis
Posts: 1706
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

Голосую за первый пункт. Это совершенно разные клавиши. Их надо различать. А эта настройка - из прошлого.
Разум когда-нибудь победит.
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Я наверное где-то не дочитал чего-то. А почему в поведении нет зависимости от состояния NumPad (вкл\выкл)? :unknown:
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

[e]Bu$ter, потому, что при NumLock цифиры они и в Африке цифиры. И менять поведение как то не особо хочется (везде это цифры, а в ФАРе это хрен знает что?).
Или я не правльно понял вопроса?
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Skirda
Ну, с включенным NumLock (равносильно UseNumPad=1) пусть и будут циферки (и точка), а с выключенным (как бы, UseNumPad=0) — стрелки (и Pd(Up\Dn), End, Home, Del).
Или я не правльно понял вопроса?
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Идея сабжа в том, чтобы можно было бы вешать макросы на цифровую клавиатуру. Идея разумная и все такое. Но здесь всплывает подводный камень (на примере mantis#318):
Вот такой лог (то, что нам винда отдает) получаем, когда последовательно наживаем Ctrl, Shift, Num5:

Code: Select all

KEY_EVENT_RECORD: Dn, 1, Vk="VK_CONTROL" [17/0x0011], Scan=0x001D uChar=[U=' ' (0x0000): A=' ' (0x00)] Ctrl=0x00000068 (Casac - ecNS)
KEY_EVENT_RECORD: Dn, 1, Vk="VK_SHIFT" [16/0x0010], Scan=0x002A uChar=[U=' ' (0x0000): A=' ' (0x00)] Ctrl=0x00000078 (CaSac - ecNS)
KEY_EVENT_RECORD: Dn, 1, Vk="VK_CLEAR" [12/0x000C], Scan=0x004C uChar=[U=' ' (0x0000): A=' ' (0x00)] Ctrl=0x00000068 (Casac - ecNS)
Т.е. здесь видно, что винды корректируют флаги (перед Clear было "CaSac", а после нажатия стало "Casac" - Shift якобы отпустили).

Когда UseNumPad равен 1, то в этот момент начинает работать некий искуственный интелект, который в итоге все же "вытягивает" наше сочетание клавиш до "CtrlShiftClear"
К сожалению я не могу для обработки, скажем, Num5 просто взять и "врубить" это правило (как будто его и нет) - иначе мы получим репорта другого толка: "а чем эта клавиша так выделяется, чем она лучше других".

Я голосовал за пункт - "оставить правило, но умолчание вывернуть на 1". Цитата выше показывает, что самый разумный вариант (больше возможностей) именно при таком раскладе. Но ведь вас куча... посему решил сначала посоветоваться :-)
User avatar
HaRT
Moderator
Posts: 10541
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 201 times
Been thanked: 334 times

Post by HaRT »

[e]Bu$ter
Нет уж, программный ключик UseNumPad и аппаратный переключатель NumLock — это разные вещи, и не надо их смешивать!
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

HaRT
Чем они по своей сути отличаются? По моейму — те же яйца, только в профиль, и TechInfo следует привести к виду:

Значения UseNumPad:
1. Считать, что NumLock всегда включен.
0. Проверять реальное состояние переключателя NumLock.

А то получается, что все нормальные GUI программы ведут себя по законам винды — проверяют NumLock, а вот FAR – особенный — у него NumLock через реестр включается, ибо – консоль.

P.S. И не такой уж этот переключатель аппаратный :P
User avatar
Александр Кряжев
Posts: 882
Joined: Sun 03 Dec, 2006 10:09
Location: Москва
Has thanked: 2 times
Contact:

Post by Александр Кряжев »

А у меня на ноутбуке при отключённом NumLock - буквы... Надеюсь, о таких случаях не забудут... Голосовал за "Оставить TI, но по умолчанию сделать UseNumPad = 1"... По-моему, самый универсальный вариант...
User avatar
DrKnS
Posts: 6110
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 423 times

Post by DrKnS »

[e]Bu$ter
Причем здесь вообще консоль и т.д.?
Фар ведёт себя "по законам винды" при любых значениях UseNumPad: если numlock включен - это цифры и точка, если выключен - управление курсором, ins и del.
Смысл этого техинфо в том, что если UseNumPad=1, то, например, на клавиши Home на основной клаве и Home на цифровой можно навесить разные макросы, т.к. Home на цифровой фар будет трактовать как Num7.

По сабжу - голосовал за 2 пункт.
User avatar
Smitis
Posts: 1706
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

В настоящий момент у меня на десктопе numlock включен, а на ноуте выключен. В первом случае ФАР воспринимает клавиши на цифровой клавиатуре как обычные цифры, а во втором как Num#. Хотелось бы иметь настройку, что-бы клавиши воспринимались одинаково, не зависимо от numlock. В настоящий момент этого нет.
Разум когда-нибудь победит.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Smitis, а себж в каком состоянии на ноуте и на доске?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Smitis
Так и должно быть и почему вдруг ты ожидаешь что то другое? С намлоком и без него это разнвые наборы клавиш.
User avatar
Smitis
Posts: 1706
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

Skirda
Везде 1

t-rex
А я и не ожидаю другое. Но раз зашёл разговор, может сделаете так, чтобы воспринимались всегда как Num# (при соотстветсвующих настройках)? Тогда на цифровую клавиатуру удобней было бы макросы вешать.
Разум когда-нибудь победит.
User avatar
HaRT
Moderator
Posts: 10541
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 201 times
Been thanked: 334 times

Post by HaRT »

Smitis wrote:может сделаете так, чтобы воспринимались всегда как Num# (при соотстветсвующих настройках)? Тогда на цифровую клавиатуру удобней было бы макросы вешать.
Согласен. Если расширить TechInfo#48 таким вариантом (например, UseNumPad=2) технически не очень сложно, то это было бы удобно. Ведь действительно, когда используешь “серые” клавиши с модификаторами, обычно не задумываешься, включен ли NumLock.
Post Reply

Return to “Предложения и идеи”