Author Topic: Функции KEYSTRING() символ '+'  (Read 8623 times)

0 Members and 3 Guests are viewing this topic.

Салатик

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Функции KEYSTRING() символ '+'
« on: June 04, 2016, 09:18:46 PM »
Ошибка такая: символ + выводится как = в консоли, ворде, тхт-файле и т.д...
ОС: windows 8.1

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

Я понимаю, что "+" через шифт на равно появляется ("shift" и "="), но есть же отдельная клавиша на НуамПаде, а иначе в какой режим (раскладку) перевести клаву, чтобы он набирался вместе с остальной строкой. Не проверять же каждый символ на соответствие символу "+" и перед его нажатием, типа, шифт зажимать.
Символ "*" и другие с НуамПада, так же,  лишними не будут, спасибо.
« Last Edit: June 05, 2016, 12:12:37 PM by Салатик »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #1 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) // отвязываемся

Салатик

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #2 on: June 05, 2016, 12:12:04 PM »
Не работает привязка :'(
Совсем ничего не печатает

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #3 on: June 06, 2016, 01:12:26 PM »
У меня всё работает на цифровой клавиатуре по коду из справки
Code: (clickermann) [Select]
KEYPRESS(107)
WAITMS(100)


ValeraVVV

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #4 on: June 09, 2016, 10:09:57 AM »
ничерта оно не работает. что с привязкой, что без привязки.это вообще не имеет никакого значения.

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



 

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #5 on: June 09, 2016, 10:51:14 AM »
Видать у тебя 64 винда раз привязка не работает.

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

ValeraVVV

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #6 on: June 09, 2016, 11:25:07 AM »
опаньки.
так в 64-битной винде не работает норм?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #7 on: June 09, 2016, 11:44:15 AM »
ничего подобного, нет разницы какая винда, 32 или 64, покрайней мере у меня, и на разных машинах. тут скорее всего проблема в приложении в котором нужно чтото стринить.



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

у меня ворда нет, немогу потестить, но по кейстрингу могу точно сказать, что разницы не наблюдал что 32 что 64
« Last Edit: June 09, 2016, 11:47:22 AM by dramster »

ValeraVVV

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #8 on: June 09, 2016, 11:58:11 AM »
да мне в ворде стронить надо.
да вообще в любой проге пробую
скрипт в точности как написан выше пробовал.
ну не печатает хоть тресни.
или печатает английские или русские - символы вообще не печатает или печатает черти что.
вместо
----Тест Str 12345 *%@()^+-=---
получается :
----тест  12345 8590=-=---


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



« Last Edit: June 09, 2016, 12:06:32 PM by ValeraVVV »

lev12348

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #9 on: June 14, 2016, 12:12:13 PM »
На вин 10 64-бита в ворде пишется правильно если раскладка клавы на РУС .

Салатик

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #10 on: June 17, 2016, 03:44:38 PM »
У меня всё работает на цифровой клавиатуре по коду из справки
Code: (clickermann) [Select]
KEYPRESS(107)
WAITMS(100)

Речь идет о функции KEYSTRING(), не KEYPRESS() ! По одной клавише, ясен пень, работает.
« Last Edit: June 17, 2016, 04:11:52 PM by Салатик »

Салатик

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #11 on: June 17, 2016, 04:10:09 PM »
Видать у тебя 64 винда раз привязка не работает.

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

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

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

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #12 on: June 17, 2016, 05:00:02 PM »
Речь идет о функции KEYSTRING(), не KEYPRESS() ! По одной клавише, ясен пень, работает.
Круто. Но по идее KEYSTRING это просто анрегатор для KEYPRESS. Чтобы не вызывать 100500 раз KEYPRESS при попытке набрать фразу.
Практически KEYSTRING внутри в цикле вызывает KEYPRESS для каждого символа, больше отличий нет.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #13 on: June 17, 2016, 08:03:28 PM »
Видать у тебя 64 винда раз привязка не работает.

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

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

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

Такое поведение проявляется только в оконном режиме!

Салатик

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Функции KEYSTRING() символ '+'
« Reply #14 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. В каком виде он там хранится непонятно.
Функции преобразования символа в код клавиши в кликере я не нашел. Придется с плагинами разбираться.