Отправляет email-рассылки с помощью сервиса Sendsay

Screen reader JAWS for Windows Russian

[JFWRus] Внимание! Вышел коммерческий драйвеr mymouse!

Всем привет.

Свершилось! После долгих и томительных ожиданий вышла коммерческая версия драйвера
mymouse, в девичестве spmvs, в младенчестве Speaking mouse.

Подробную информацию о продукте можно посмотреть по следующему адресу:
www.mymouse.netfirms.com

удачных приобретений:)

XXX___-?O
Sucker love a box I choose.
No other box I choose to use.
Another love I would abuse,
No circumstances could excuse.
Всяких приятностей! cuthbert собака mlbox.ru

***
Это сообщение No3307
было разослано для 291 участников дискуссионного листа
[JFWRus] Внимание! Вышел коммерческий драйвеr mymouse!

Ответить   "Cuthbert" (#523414)

 

Ответы:

Добрый день, уважаемые Леди и добрый день, уважаемые Джентельмены.
Поздравляю Вас с праздником Прощенного Воскресенья. Это День Прощения
родных, близких, друзей. Простите, если что не так.
У меня возник очередной вопрос к программистам.
Что следует предпринять когда приложение само по себе поддерживает
необходимые горячие клавиши, но если работает jaws, то эти клавиши не
функционируют. Если нажать команду "пропустить клавиатурную комбинацию",
"Incert+3" и затем нажать сочетание клавиш для приложения, то приложение
команду выполняет.
Пробовал функцииSimulateKey, сочетания функций PassKeyThrough и TypeKey, но
успешного результата не получил. Пробовал скрипты ControlDown, но результат
никакой.
Второй вопрос такой:: объясните как прописать сообщения для сочетаний
клавиш, которые использует функция TypeKey и подобные ей. Если я включаю в
текст файла скриптов файл common jsm и использую его сообщения для
клавиатурных комманд , то все работает. А если я создаю в диспетчере
конфигураций файл с названием своего приложения, , пишу там строчки в таком
же формате, как и в common.jsm или даже копирую строки из файла ccommon.jsm,
включаю созданный файл в текст файла скриптов и пытаюсь откомпилировать, то
получаю такое сообщение:

Compile Error
Unexpected word cksAlt
, Привожу текст файла F1Shell.JSS. Он состоит всего из одной строки:
Include "F1Shell.JSM"

Вот что содержится в созданном мною файле F1Shell.JSM

;keystrokes

cksAlt = "Alt",

cksAltDownArrow = "alt+downarrow",

Пробовал называть строки ks1,ks2 и т. д., а также оригинальными названиями
F1cks1...

Словом, диспетчер скриптов отказывается компилировать напрочь.

С уважением, Шварц Кирилл :) Эсквайр.

***
Это сообщение No3309
было разослано для 292 участников дискуссионного листа
[JFWRus] Конфликты клавиш

Здравствуйте, Кирилл.

PassKeyThrough ()

This is very useful if you have a key conflict.

По старому синтаксису нажатие клавиши:
{комбинация_клавиш}
например:
{Shift+Tab}
Новый синтаксис:
TypeKey ("Shift+Tab")

То есть в данном примере так:последовательность:
PassKeyThrough ()

{Shift+tab}

Чтобы пропустить дальше комбинацию клавиш, которой был вызван скрипт, используйте:

TypeCurrentScriptKey ()

Не забывайте после клавиатурного ввода ставить одну или несколько Pause().

С уважением, Анатолий.

***
Это сообщение No3313
было разослано для 292 участников дискуссионного листа
[JFWRus] Re: Конфликты клавиш

Ответить   "i_chay" (#523626)

 

Добрый день, Уважаемая Рассылка, Леди и Джентельмены. Здравствуйте Сэр
Анатолий.
Спасибо за советы, благодаря им дело сдвинулось с места. Попробовал
несколько вариантов скриптов, они работают через раз, т.е. на первое нажатие

приложение реагирует, на второе не срабатывает. Далее снова все
повторяется.
Есть странности в этом срабатывании: иногда слово в позиции активного
курсора не читается. Если нажать сочетание клавиш "Insert+NumLock 5" то
вместе с чтением текущего слова выделяется символ в позиции PC курсора. Этот

символ начинает произноситься без умолку, например если, например,
выделилась буква "к" в слове "карусель", то произносится "к к к к к к к к к

к к к ...". Избавится можно только выключив эхо клавиатуры. Ппосле слово, в
котором выделен символ, (в моем примере "карусель"), начинает иногда
произноситься вместо слова, находящегося в позиции активного курсора. Курсор

стоит вначале ккого -то совсем другого слова, а произносится "карусель".

Если вручную ввести склавиатуры команды "Insert+3",
"Ctrl+Right","Ctrl+NumLock5", то jaws читает все корректно. Однако если
предварительно был запущен какой - нибудь из моих скриптов, то в этом
случае, даже при вводе комманд вручную может появиться вышеописанный глюк с
выделенным символом и заменой текущего слова словом с выделенным символом
(злосчастной "каруселью").
Привожу несколько вариантов скрипта, которые я опробовал. Им всем была
назначена горячая клавиша "Control+Right":
Script SayNextWord ()

PassKeyThrough ()

TypeCurrentScriptKey ()

Pause ()

Pause ()

Delay (2 )

SayWord()

EndScript

Script SayNextWord ()

PassKeyThrough ()

TypeCurrentScriptKey ()

;TypeKey ("Control+Rightarrow")

Pause ()

Pause ()

Delay (2 )

SayWord()

EndScript

Script SayNextWord ()

PassKeyThrough ()

TypeCurrentScriptKey ()

PassKeyThrough ()

;TypeKey ("Control+Rightarrow")

Pause ()

Pause ()

Delay (2 )

SayWord()

EndScript

Script SayNextWord ()

PassKeyThrough ()

;TypeKey ("Control+Rightarrow")

Pause ()

Pause ()

Delay (2 )

SayWord()

EndScript

Пробовал устанавливать паузы между различными функциями в скриптах.
Результат примерно одинаковый.

Словом, нечистая сила ! :)

Если Вы знаете или предполагаете в чем тут дело, напишите.

С уважением, Шварц Кирилл, Эсквайр.

***
Это сообщение No3321
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[2]: Конфликты клавиш

Здравствуйте, Кирилл.
Для вашего случая должно быть так (проверено):
Script SayNextWord ()
TypeCurrentScriptKey ()
Pause ()
SayWord()
EndScript

И клавишу на этот скрипт вешать не надо, достаточно того, что вы обозвали его
так же, как скрипт из default.jss, на котором
завязана комбинация Ctrl+стрелка вправо. Еще не помешает контролировать
активный курсор, то есть для-джоз курсора выполнять стандартный скрипт:
PerformScript SayNextWord()

а для PC-курсора уже выполнять ваш вариант обработки.
С уважением, Анатолий.

***
Это сообщение No3323
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[3]: Конфликты клавиш

Ответить   "i_chay" (#523740)

 

Здравствуйте Сэр Анатолий :)
Проверил предлагаемый вариант. Выяснил, что без функции PassKeyThrough

()и одновременно без назначения горячей клавиши на скрипт приведенный Вами
скрипт в этом приложении не работает. Горячую клавишу нужно назначать такую
же,как для скрипта с таким именем в файле по умолчанию, иначе скрипт не
передвигает PC курсор. Я указываю все время системный курсор, поскольку
проверяю именно на нем. Остальные курсоры передвигаются нормально, для этого

им никаких скриптов не нужно. Заметил, что функция
RoutePCToInvisible () () в этом приложении не срабатывает, может это
поможет диагностике проблемы?

С уважением, Шварц Кирилл, эсквайр.

***
Это сообщение No3327
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[4]: Конфликты клавиш

Добрый вечер, Уважаемая рассылка.
Привожу еще наблюдения в дополнение к описанным.
Решил выяснить, как протекает исполнение скрипта. Для этого поместил в
скрипт сообщения о ходе выполнения:
Script SayNextWord ()

SayString ("пропускаю клавишу")

PassKeyThrough ()

SayString ("нажимаю клавишу")

TypeCurrentScriptKey ()

SayWord()

EndScript

Выяснил, что скрипт работает последовательно и без остановок, от начала до
конца. Но почему -то он запускается через раз, т. е. на первую команду
"Ctrl+Right" он запускается, а следующую такую же команду игнорирует.

Чтобы посмотреть как скрипт работает два раза подряд я продублировал весь
скрипт дважды:

Script SayNextWord ()

SayString ("пропускаю клавишу")

PassKeyThrough ()

SayString ("нажимаю клавишу")

TypeCurrentScriptKey ()

SayWord()

SayString ("второе прохождение")

SayString ("пропускаю клавишу")

PassKeyThrough ()

SayString ("нажимаю клавишу во второй раз")

;TypeCurrentScriptKey (); можно выбрать эту функцию,

TypeKey ("control+rightarrow"); или эту, разницы нет.

SayWord()

EndScript

Результат такой:курсор перемещается при выполнении первой части скрипта к
следующему слову, произносит его, а за вторым разом никуда уже не
перемещается и снова произносит то же слово. Разумеется, скрипт по-прежнему
срабатывает через раз.

Я уже не упоминаю о других глюках, которые описывал в предыдущих письмах,
они все остались.

Убирал из файла по умолчанию сочетание "Ctrl+Right@ для одноименного
скрипта. Это ни на что не повлияло.

Самое время добавить, что я верю в победу человеческого разума и в
безудержный полет творческой мысли. Думаю что бы еще предпринять. Благодарен

за любые идеи.

Шварц Кирилл, эсквайр :)

***
Это сообщение No3332
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[5]: Конфликты клавиш

Здравствуйте, Кирилл.

Вот уже вдвоем (Сергей Волков и я) пытаемся вас убедить, что
PassKeyThrough ()
в вашем скрипте явно лишняя. Из-за этого возникает необходимость в двух нажатиях.
В обычном Блокноте я добавил эту лишнюю строку и
возникли все те же симптомы, о которых вы пишите.
Вот описание к функции
TypeCurrentScriptKey () (5.00):

The key attached to the current script is passed(!)
through(!) to the application(!).

С уважением, Анатолий.

***
Это сообщение No3333
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[6]: Конфликты клавиш

Ответить   "i_chay" (#523858)

 

Здравствуйте Анатолий , Сергей, Игорь. Здравствуйте рассылка.
Я бы рад обойтись без функции
PassKeyThrough (). Довольно много времени провел в посвященных ей
экспериментах и конечно же пробовал тот простой и прекрасный скрипт, который

Вы рекомендовали. Я проверял его в других приложениях и он хорошо работал.
Но мое приложение - особенное. Оно может работать, используя только
PassKeyThrough () и SayWord (), хотя и кривовато, но без PassKeyThrough ()
оно вообще не желает производить никаких действий. Я уже сам подумываю, что
приложение заколдовано!

Пробовал jaws 7.00135 и 5.10. Результат един.

Я благодарен Вам за помощь. Совет с назначением аналогичной умолчанию
горячей клавиши сыграл критически важное значение. Это маленькая победа над
БОЛЬШИМ приложением:)

Последнее слово в борьбе еще не сказано и утро вечера мудренее. Всего
доброго всем!!!

С Уважением, Шварц Кирилл, эсквайр.

***
Это сообщение No3338
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[7]: Конфликты клавиш

Добрый день, Леди и джентельмены.
Поделитесь пожалуйста информацией и опытом по использованию функций
SendMessage/PostMessage Из руководства FSDN многого не понял, поскольку
там ссылка к книгам по SDM. В русском "Руководстве создателя скриптов" эти
функции еще не прокомментированы. Что
они делают, как ими пользоваться, где подробнее прочитать про них.
С уважением, Шварц Кирилл, эсквайр.

***
Это сообщение No3366
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[8]: Конфликты клавиш

Здравствуйте,

Они делают всё. На самом деле окошки используют эти функции сверх активно и
с их помощью можно сделать всё.

Чтобы прочитать все возможные функции эвызывпаемые при помощи этих функций,
Вам не ххватит и месяца, особенно при таком знании английского. Если Вы
знаете скажем немецкий - ситуация для Вас проще, поскольку руководство есть
и на немецком. Называется MSDN, лежит на Майкрософте или продаётся на
дисках. Там описаны все сообщения, и что они делают.

На Майкрософте оно лежит размазанным по всему сайту и пользоваться можно
только в онлайне, выкачать не представляется возможным, да и объём около
четырёх гигов в архиве...

До свидания.

***
Это сообщение No3373
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[9]: Конфликты клавиш

Здравстуйте, уважаемая Рассылка.
Поздравляю всех Леди с днем Весны и Красоты. Будьте счастливы!
Шварц Кирилл, эсквайр :)

***
Это сообщение No3367
было разослано для 297 участников дискуссионного листа
[JFWRus] Спраздником, дорогие Леди!

Здравствуйте Леди и Джентельмены.
Обращаюсь к специалистам в английском и в программировании. Привожу описание

функции изFSDN, в котором кое - что не могу понять. Может сообща разберемся!
С уважением, Шварц Кирилл.
Provides limited access to the Windows SendMessage function (See the Windows

Platform SDK or a Windows programming book for details) It is only possible
to use numeric values for wParam and lParam. No strings or other structures
can be passed. The return value is always treated as an integer.

Returns

Type: Int
Description: result of the SendMessage call.

Parameters

Param 1:

Type: Handle
Description: Window to which the message should be sent.
Include: Required

Param 2:

Type: Int
Description: Message to be sent.
Include: Required

Param 3:

Type: Int
Description: wParam value for the message, defaults to 0.
Include: Optional

Param 4:

Type: Int
Description: lParam value for the message, defaults to 0.
Include: Optional

***
Это сообщение No3368
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[8]: Конфликты клавиш

Добрый вечер, в прошлом письме не указал, что речь идет о функции
SendMessage. Если у Вас есть опыт по ее использованию и какие-нибудь
подробные описания, пожалуйста поделитесь. Спасибо.
Шварц Кирилл, эсквайр:)

***
Это сообщение No3370
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[9]: Конфликты клавиш

Здравствуйте,

Обеспечивает ограниченный доступ к функции окошек SendMessage. См. Platform
SDK

или книжку по программированию окошек для подробностей. Возможно только

использовать числовые данные в качестве параметров wParam и lParam. Никаких
строк или других структур данных

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

Возвращается тип целого числа.

Описание результат работы функции SendMessage.

Параметр 1 - тип Хендлер.

Описание - Окошко, которому посылать сообщение.

Обязательно.

Параметр 2- тип целое.

Описание, которое необходимо послать.

Обязательно.

Параметр 3 - тип целое.

Параметр wParam по умолчанию равен нулю.

Необязательно.

Параметр 4 - целое число.

Описание - Значение lParam для сообщения.

Необязательно.

Теперь мои комментарии. Это интерфейс челюстей к ядру окошек, но не
полноценный и урезанный. Чтобы знать, что посылать в параметрах 3 и 4 этой
функции необходимо проштудировать пакет разработчика для окошек. Моё мнение
Кирилл - к сожалению эта функция Вам ещё пока что рановато. Работать с этой
функцией можно начинать, когда Вы имели опыт написания минимального софта
под ядро окошек, в частности под WUI и GDI. Собственно только в этом случае
у Вас не возникнет вопросов как ей пользоваться.

До свидания.

***
Это сообщение No3372
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[9]: Конфликты клавиш

7-Mar-2006 00:32 you wrote:

приветствую всех.
А вот жаль, что с той темы сделали перевод на другую тему.
Вот в jaws 700135, то есть такая проблемма, что скрипт по горячей клавиши
срабатывает только раз, ну а потом просто неработает.
Я написал скрипт для интернет эксплорера, ну и повесил его на горячую
клавишу.
Потом попробовал, а он работает только раз, а потом просто неработает.
Скрипт копировал ссылку в буфер.
Работает раз, а потом неработает.
ПРобовал перекомпилировать, но то толку просто недаёт.
Где копать?
С почтением Андрей.

***
Это сообщение No3389
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[8]: Конфликты клавиш

Ответить   "Andrij Stegnitskiy" (#525447)

 

Кирилл, извеняюсь за ответ не по теме. Из следующего письма Ваша проблема
прояснилась.

С уважением.
Игорь

***
Это сообщение No3335
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[6]: Конфликты клавиш

Добрый вечер, Леди и Джентельмены.
Благодарю Вас за терпение и привожу новые подробности конфликтов клавиш
приложения и jaws. Надеюсь, что они дадут толчок к новым идеям:
1. Скрипты, которые я публиковал в прошлых письмах работают "через раз". Это

значит, что на одно нажатие горячей клавиши они срабатывают, а на второе -
нет. По крайней мере так это выглядит на первый взгляд.
2. Каждое второе нажатие вообще не доходит до jaws. Я проверил это, поместив

в функцию KeyPressedEvent первой строкой сообщение "Ку-Ку".
3. Скрипт не реагирует на каждое второе нажатие. Зато приложение реагирует и

выполняет команды, которые не желает выполнять в остальных случаях, т. е.
когда jaws берет контроль над клавиатурой. Приложение, например, может
переместить курсор к следующему абзацу текста, чего не добиться в обычном
режиме jaws. Именно в "фоновом режиме" приложение, как показали
эксперименты, передвигает PC курсор на следующее слово т. е. когда jaws
лишается контроля . PC курсор перемещается именно тогда. Jaws ничего не
перемещает,ни функцией
TypeCurrentScriptKey () ни TypeKey (). Я вообще убрал их из скрипта и он по
прежнему работает, также, через раз:

Script SayNextWord ()

PassKeyThrough ()

SayWord()

EndScript

Это похоже на две фазы. Сначала jaws теряет браздыправления и передает их

приложению. Затем jaws что-то говорит:
Script SayNextWord ()

SayString ("я сейчас ")

PassKeyThrough ()

SayString ("что-то скажу")

SayWord()

EndScript

Результат этого скрипта- через раз Jaws будет слитно говорить фразу "Я
сейчас что-то скажу" а затем произносить следующее слово. Затем, когда я
нажимаю "Ctrl+Right" компьютер молча передвигает курсор на следующее слово.

Если не назначать на скрипт горячую клавишу, то jaws этот скрипт вообще не
выполняет.

Вот к таким выводам я пришел. Осталось непонятным как все эти выводы
превратить в работающий скрипт?

С уважением, Шварц Кирилл, эсквайр.

***
Это сообщение No3336
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[5]: Конфликты клавиш

Приветствую вас.
Ну а вот в моём скрипте, чтоб копировать ссылку, то там нету такого, чтоб
пропускать клавиши.
Ну а он работает только первый раз, А после того, как он неработает, то по
клавише инсерт +1, я включаю режим озвучивания горячих клавиш.
И по инсерт +ctrl +x, то горячая клавиша, которую на скрипт я повесил,
говорится, что list selected.
Я такой функции на клавишу не назначал, а вот она произвольно включается.
Потом загружаю менеджер клавиатуры, смотрю, в списке на ctrl +insert +x,
стоит мой скрипт copyLinkToCleapboard.
Закрываю менеджер клавиатуры, и опять он разово срабатывает, а на второй раз
то просто неработает.
Где крутить?
С почтением Андрей.

***
Это сообщение No3388
было разослано для 297 участников дискуссионного листа
[JFWRus] Re[5]: Конфликты клавиш

Ответить   "Andrij Stegnitskiy" (#525446)

 

Здравствуйте, Кирилл.

Чтобы Джоз пропускал, то есть передавал, команду приложению возьмите эту
команду в фигурные скобки ибольше ничего не надо.

Ну например.

Script ........ ()
{Alt+Up Arrow}
End Script

Эту команду всегда будет выполнять приложение, а не Джоз.

С уважением.
Игор.

***
Это сообщение No3334
было разослано для 297 участников дискуссионного листа
[JFWRus] Re: Конфликты клавиш