Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Topic started by: Салатик on June 04, 2016, 09:18:46 PM

Title: Функции KEYSTRING() символ '+'
Post by: Салатик on June 04, 2016, 09:18:46 PM
Ошибка такая: символ + выводится как = в консоли, ворде, тхт-файле и т.д...
ОС: windows 8.1

Код ниже, сами попробуйте:
Code: [Select]
WAITMS(1000)
KEYSTRING ("Hello +")
halt

Я понимаю, что "+" через шифт на равно появляется ("shift" и "="), но есть же отдельная клавиша на НуамПаде, а иначе в какой режим (раскладку) перевести клаву, чтобы он набирался вместе с остальной строкой. Не проверять же каждый символ на соответствие символу "+" и перед его нажатием, типа, шифт зажимать.
Символ "*" и другие с НуамПада, так же,  лишними не будут, спасибо.
Title: Re: Функции KEYSTRING() символ '+'
Post by: Oraven on June 04, 2016, 10:05:08 PM
Не понял, так KEYSTRING или TFREADARR ?

На счет KEYSTRING, в оконном режиме символы набираются абсолютно любые какие укажешь.
Code: (clickermann) [Select]
HSET(HGET(300,300),1) // привязываемся к окну по координате
KEYSTRING("Тест Str 12345 *%@()^+-=") // вводим
HSET(0,0) // отвязываемся
Title: Re: Функции KEYSTRING() символ '+'
Post by: Салатик on June 05, 2016, 12:12:04 PM
Не работает привязка :'(
Совсем ничего не печатает
Title: Re: Функции KEYSTRING() символ '+'
Post by: Vint on June 06, 2016, 01:12:26 PM
У меня всё работает на цифровой клавиатуре по коду из справки
Code: (clickermann) [Select]
KEYPRESS(107)
WAITMS(100)
Title: Re: Функции KEYSTRING() символ '+'
Post by: ValeraVVV on June 09, 2016, 10:09:57 AM
ничерта оно не работает. что с привязкой, что без привязки.это вообще не имеет никакого значения.

из версии в версию автором в этом плане ничего не меняется.
невозможно ввести символы русского, если кликерман установлен на английском при запуске. и наоборот невозможно напечатать английские буквы, если при запуске кликерман установлен в русский.При чем именно на старте , потом смена не имеет значения.
 и походу это жирный косяк кликермана, порой сводящие все усилия по написанию скрипта в нет.
это касается как функций keystring так и toCLIP
возможно это кодировки кликермена или еще чего,
но вставить ----Тест Str 12345 *%@()^+-=---  в тот же ворд одной функцией - фиг там-  не получается.



 
Title: Re: Функции KEYSTRING() символ '+'
Post by: Oraven on June 09, 2016, 10:51:14 AM
Видать у тебя 64 винда раз привязка не работает.

Вот демонстрация
(http://savepic.net/8185387.gif)
Title: Re: Функции KEYSTRING() символ '+'
Post by: ValeraVVV on June 09, 2016, 11:25:07 AM
опаньки.
так в 64-битной винде не работает норм?
Title: Re: Функции KEYSTRING() символ '+'
Post by: dramster on June 09, 2016, 11:44:15 AM
ничего подобного, нет разницы какая винда, 32 или 64, покрайней мере у меня, и на разных машинах. тут скорее всего проблема в приложении в котором нужно чтото стринить.



сорри, не прочитал вот это
Quote
но вставить ----Тест Str 12345 *%@()^+-=---  в тот же ворд одной функцией - фиг там-  не получается.

у меня ворда нет, немогу потестить, но по кейстрингу могу точно сказать, что разницы не наблюдал что 32 что 64
Title: Re: Функции KEYSTRING() символ '+'
Post by: ValeraVVV on June 09, 2016, 11:58:11 AM
да мне в ворде стронить надо.
да вообще в любой проге пробую
скрипт в точности как написан выше пробовал.
ну не печатает хоть тресни.
или печатает английские или русские - символы вообще не печатает или печатает черти что.
вместо
----Тест Str 12345 *%@()^+-=---
получается :
----тест  12345 8590=-=---


#ps2_keyboard этот тоже всунул. бестолку.
не знаю как это победить:(
люди, ну не работает это . винда 64, кликерман 4.12
никак не сделать скрипт раз не печатает нормально символы.:(



Title: Re: Функции KEYSTRING() символ '+'
Post by: lev12348 on June 14, 2016, 12:12:13 PM
На вин 10 64-бита в ворде пишется правильно если раскладка клавы на РУС .
Title: Re: Функции KEYSTRING() символ '+'
Post by: Салатик on June 17, 2016, 03:44:38 PM
У меня всё работает на цифровой клавиатуре по коду из справки
Code: (clickermann) [Select]
KEYPRESS(107)
WAITMS(100)

Речь идет о функции KEYSTRING(), не KEYPRESS() ! По одной клавише, ясен пень, работает.
Title: Re: Функции KEYSTRING() символ '+'
Post by: Салатик on June 17, 2016, 04:10:09 PM
Видать у тебя 64 винда раз привязка не работает.

Вот демонстрация
...

У тебя, прям, чудеса какие-то! В примечании к функции говорится о чувствительности к раскладке (вложение). Поэтому можно сказать, что у тебя функция не правильно работает)))
На моей винде 8.1, 64бит, русские символы в строке не выводятся, а латинские выводятся в зависимости от раскладки. Т.е. "Str" на РУС раскладке выведет "ыек", а на ENG - "str" - заглавные становятся строчными пока не включишь КАПС (тогда все становятся заглавными). Но это, как бы, обусловлено примечанием.

Без учета всего этого, Функция - огонь!
Желаю успехов разработчикам  ;)
Title: Re: Функции KEYSTRING() символ '+'
Post by: Vint on June 17, 2016, 05:00:02 PM
Речь идет о функции KEYSTRING(), не KEYPRESS() ! По одной клавише, ясен пень, работает.
Круто. Но по идее KEYSTRING это просто анрегатор для KEYPRESS. Чтобы не вызывать 100500 раз KEYPRESS при попытке набрать фразу.
Практически KEYSTRING внутри в цикле вызывает KEYPRESS для каждого символа, больше отличий нет.
Title: Re: Функции KEYSTRING() символ '+'
Post by: Oraven on June 17, 2016, 08:03:28 PM
Видать у тебя 64 винда раз привязка не работает.

Вот демонстрация
...

У тебя, прям, чудеса какие-то! В примечании к функции говорится о чувствительности к раскладке (вложение). Поэтому можно сказать, что у тебя функция не правильно работает)))
На моей винде 8.1, 64бит, русские символы в строке не выводятся, а латинские выводятся в зависимости от раскладки. Т.е. "Str" на РУС раскладке выведет "ыек", а на ENG - "str" - заглавные становятся строчными пока не включишь КАПС (тогда все становятся заглавными). Но это, как бы, обусловлено примечанием.

Без учета всего этого, Функция - огонь!
Желаю успехов разработчикам  ;)

Такое поведение проявляется только в оконном режиме!
Title: Re: Функции KEYSTRING() символ '+'
Post by: Салатик on July 02, 2016, 12:57:37 AM
Речь идет о функции KEYSTRING(), не KEYPRESS() ! По одной клавише, ясен пень, работает.
Круто. Но по идее KEYSTRING это просто анрегатор для KEYPRESS. Чтобы не вызывать 100500 раз KEYPRESS при попытке набрать фразу.
Практически KEYSTRING внутри в цикле вызывает KEYPRESS для каждого символа, больше отличий нет.
Только KEYPRESS() использует код клавиши, а KEYSTRING() работает со строкой. Так что, придется преобразовать символ в код клавиши. Что я и пытался сделать, но тут свои камни:
Code: [Select]
$char1 = "+"
switch($char1)
case("+")
  print("+")
default
  print("default case") 
end_switch
В логе выходит default case. В каком виде он там хранится непонятно.
Функции преобразования символа в код клавиши в кликере я не нашел. Придется с плагинами разбираться.
Title: Re: Функции KEYSTRING() символ '+'
Post by: Vint on July 04, 2016, 05:32:53 PM
У меня в логе выводится "+"
Правда я сижу на 4.11. Попробовал на 4.12 получил "default case"

А говорят:
из версии в версию автором в этом плане ничего не меняется...

Изменения на лицо. Правда в худшую сторону  :D
Title: Re: Функции KEYSTRING() символ '+'
Post by: Салатик on July 04, 2016, 07:22:30 PM
Ну да, у меня 4.12. Перейду пока, на что-нибудь постарее, раз такое дело :))