View Issue Details

IDProjectCategoryView StatusLast Update
0001504WishesMacropublic2010-09-21 12:41
ReporterAGu Assigned Tovskirdin  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version2.0 
Fixed in Version2.0 
Summary0001504: Обеспечить возможность издавать звук в зависимости от раскладки
DescriptionВиш по сути дела состоит из двух независимых частей:

1. Добавить в язык макросов возможность издавать заданный звук (с указанием пути к звуковому файлу или кода системного звука).

2. Добавить в язык макросов возможность определять текущую раскладку клавиатуры (input locale), а в идеале еще и выставлять указываемую раскладку.
Additional InformationДанный виш родился из желания научить Far издавать разные звуки после применения xlat в зависимости от того, какая раскладка оказалась (осталась) выставленной.

Cм. http://forum.farmanager.com/viewtopic.php?f=15&t=5678
TagsNo tags attached.
Build1673

Activities

vskirdin

2010-09-15 15:39

administrator   bugnote:0005773

На счет п.2 "определять" - это врядли (для CUI)...
...или ткните носом в код.

DrKnS

2010-09-15 16:06

administrator   bugnote:0005774

ImportedFunctions.pfnGetConsoleKeyboardLayoutName не?

vskirdin

2010-09-15 17:02

administrator   bugnote:0005775

Ок.
с beep определились, будет beep(N), где N - как у MessageBeep()

как обозвать функцию про раскладку?
возвращать она будет пред.значение (или текущее, если параметр "пусто")

JohnDoe

2010-09-15 19:38

updater   bugnote:0005776

Last edited: 2010-09-15 19:44

InputLocale(N)
Или
kbdLayout(N)

Имхо второе лучше.

А что возможно в качестве N? Номер? Название? Вперёд/Назад?

vskirdin

2010-09-16 10:23

administrator   bugnote:0005777

Res=kbdLayout([N])

Параметр N:
а) конкретика: 0x0409 или 0x0419 или...
б) 1 - следующую системную (по кругу)
в) -1 - предыдущую системную (по кругу)
г) 0 или не указан - вернуть текущую раскладку.

Возвращает предыдущую раскладку (для N=0 текущую)

...и после этого можно удалять $KbdSwitch :-)

JohnDoe

2010-09-16 10:35

updater   bugnote:0005778

>...и после этого можно удалять $KbdSwitch :-)
Из $XLat переключение тоже будет удаляться?
Там ведь предусмотрен ещё "малый круг", или фтопку его?
Как вариант д) -2 переключение по малому кругу.

vskirdin

2010-09-16 10:45

administrator   bugnote:0005779

$xlat - скорее да, т.к. есть xlat()

малый круг предусматривает наличие в реестре куска Qwerty2.reg
пока без него, а там видно будет.

JohnDoe

2010-09-16 11:35

updater   bugnote:0005780

>$xlat - скорее да, т.к. есть xlat()

C помощью xlat (в текущем виде) не удастся полностью заменить $XLat
Я имел ввиду ввиду $XLat пока не удалять, но выкинуть из него переключение раскладок.

vskirdin

2010-09-16 13:49

administrator   bugnote:0005787

beep и kbdLayout ==> build 1673

AGu

2010-09-21 11:58

reporter   bugnote:0005808

Ура, работает! Большущее спасибо за реализацию (да еще такую молниеносную).

Issue History

Date Modified Username Field Change
2010-09-15 15:13 AGu New Issue
2010-09-15 15:39 vskirdin Note Added: 0005773
2010-09-15 16:06 DrKnS Note Added: 0005774
2010-09-15 16:59 vskirdin Assigned To => vskirdin
2010-09-15 16:59 vskirdin Status new => assigned
2010-09-15 17:02 vskirdin Note Added: 0005775
2010-09-15 19:38 JohnDoe Note Added: 0005776
2010-09-15 19:44 JohnDoe Note Edited: 0005776
2010-09-16 10:23 vskirdin Note Added: 0005777
2010-09-16 10:35 JohnDoe Note Added: 0005778
2010-09-16 10:45 vskirdin Note Added: 0005779
2010-09-16 11:35 JohnDoe Note Added: 0005780
2010-09-16 13:49 vskirdin Note Added: 0005787
2010-09-16 13:49 vskirdin Status assigned => feedback
2010-09-21 11:58 AGu Note Added: 0005808
2010-09-21 11:58 AGu Status feedback => assigned
2010-09-21 11:58 AGu Status assigned => resolved
2010-09-21 12:41 vskirdin Build => 1673
2010-09-21 12:41 vskirdin Status resolved => closed
2010-09-21 12:41 vskirdin Resolution open => fixed
2010-09-21 12:41 vskirdin Fixed in Version => 2.0