1 (изменено: ypppu, 2017-02-23 15:11:41)

Тема: AHK: АвтоЗамены и переназначенная запятая

Здравствуйте! Сразу к делу.

Для примера возьму слово АЗ:

::н::надо

Переназначил запятую на другую клавишу:

::\::,

В результате:
"надо\"
Только после пробела меняется на запятую. "надо,".
Вроде работает, но хочу сделать красиво, чтобы \ работал точно так же как запятая, т.е по нажатию на \ появлялась запятая, а слово разворачивалось как по нажатию запятой(без появления \).

Пробовал сымитировать поведение запятой, шифт + точка, через капс:

Capslock::+sc035

Как запятая работает, но исчезает с применением АЗ.

Получилось:
"ннадо" без запятой, и первой буквой АЗ.

Чувствую знаний АНК не хватает, подскажите что копать, куда смотреть, куда смотреть, если можно поподробней.

Спасибо за внимание.

2

Re: AHK: АвтоЗамены и переназначенная запятая

Точки в предложениях расставил, хелп и так читаю, но как исправить мою ситуацию, на данный момент я не нашёл.
ПС: И конечно гуглил перед созданием темы(на всякий случай напишу).

Вопрос в работе АЗ и переназначенных клавиш. По отдельности работает, а совместно не корректно. Через send, sendinput тоже самое. Может это вообще проблема АНК? Хотя вряд ли.

Может нужен какой-то прерыватель, имитирующий нажатие на пробел, но как это записать, я не знаю. В общем вопрос остаётся открытым.

3

Re: AHK: АвтоЗамены и переназначенная запятая

Нужна пара опций (в справке они описаны):


:*?:\::,

4 (изменено: AHK_on, 2017-02-23 13:16:20)

Re: AHK: АвтоЗамены и переназначенная запятая

Так я уже делал, (даже так делал :*?c:\::, ) но с АЗ этот вариант не работает.

:*?:\::,

::н::надо

В таком виде работает, если набирать без АЗ. С АЗ данный код, к сожалению не работает.

Попробуйте код написанный чуть выше. Запятая исчезнет, и получится "ннадо". А мне это не "ннадо". А очень хочется разобраться, штука ведь полезная.

Если написать по буквам, "надо" и после нажать на переназначенную запятую, то всё работает, а если нажать "н" затем "\" а после этого "{space}" получается "ннадо".


Тут без специалиста не разобраться, это ясно..

5

Re: AHK: АвтоЗамены и переназначенная запятая

А, понятно, о чём вы. Ну, довольно логично, что ввод самого скрипта не считается вводом юзера и не обрабатывается, как таковой. Это уже выходные данные, а не входные. Что может получиться, если выход соединить со входом, вы, наверно, знаете — зацикливание. С горячими клавишами, кстати, оно возможно и там надо принимать меры против него. А с автозаменами, значит, проблема отсутствует.

AHK_on пишет:

а если нажать "н" затем "\" а после этого "{space}" получается "ннадо".

Точно? У меня получается "н, ".

6 (изменено: ypppu, 2017-02-23 15:14:03)

Re: AHK: АвтоЗамены и переназначенная запятая

Да, действительно. получается "н, ". Это из-за того что я тестовый файл открыл параллельно с дефолтным. Дублировался. Но проблема никуда не ушла.

На данный момент используют скрипт:

:?:\::,

::н::надо

Он работает и с АЗ и с по-буквенным вводом. Остаётся проблема появления заменяемого символа (\ в нашем случае), после пробела он превращается в запятую. Но ведь можно сделать чтобы сразу появлялась запятая.

Microsoft Keyboard Layout Creator 1.4 - я не использую, потому, что нужно не только для своей машины.

Подобный код:

vkE2:: Send, {ASC 44}

Тоже не работает с АЗ.

Вот две темы замены запятой, но там без использования АЗ.

http://forum.script-coding.com/viewtopic.php?id=4190
http://forum.script-coding.com/viewtopi … 452#p39452

7

Re: AHK: АвтоЗамены и переназначенная запятая

Проблема тут, видимо, в том, что левый слэш не может быть истолкован одновременно как оконечный символ для предыдущей автозамены и как автозамена без оконечного символа. Если он сработал, как оконечный символ, то всё, никаких проверок больше нет. А вот если он является автозаменой с оконечным символом, то он будет на это проверен при последующем вводе пробела и заменён на запятую.

8

Re: AHK: АвтоЗамены и переназначенная запятая

Такой вариант у меня работает. Как у вас?


\::Send, {,}

::н::надо

9 (изменено: AHK_on, 2017-02-23 13:17:39)

Re: AHK: АвтоЗамены и переназначенная запятая

Да, с АЗ заработало:) но если набрать по буквам, без использования АЗ, то получается запятая не получается "надо\" хотелось бы чтобы слешь не был частью АЗ.

10

Re: AHK: АвтоЗамены и переназначенная запятая

AHK_on, расставьте заглавные буквы и точки в своих сообщениях. На исправление 3 дня.

11 (изменено: YMP, 2017-02-23 13:18:03)

Re: AHK: АвтоЗамены и переназначенная запятая

AHK_on пишет:

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

Не понял, так вам что нужно при полном наборе слова "надо" — запятую или слэш?

12

Re: AHK: АвтоЗамены и переназначенная запятая

ypppu пишет:

AHK_on, расставьте заглавные буквы и точки в своих сообщениях. На исправление 3 дня.

Присоединяюсь. Сплошной поток слов трудно понять.

13 (изменено: AHK_on, 2017-02-23 14:00:52)

Re: AHK: АвтоЗамены и переназначенная запятая

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

\::Send, {,}

:?:\::,

::н::надо

Такой код рабочий, но всё равно сначала появляется слеш, а после пробела превращается в запятую.
Может это вообще нельзя решить? До этого я по разному пробовал, но пришёл к такому результату.

14

Re: AHK: АвтоЗамены и переназначенная запятая

AHK_on пишет:

Такой код рабочий, но всё равно сначала появляется слеш, а после пробела превращается в запятую.

А зачем вы туда автозамену слэша на запятую вставили? Это же делается выше через Send.

15 (изменено: AHK_on, 2017-02-23 13:29:30)

Re: AHK: АвтоЗамены и переназначенная запятая

YMP пишет:

А зачем вы туда автозамену слэша на запятую вставили? Это же делается выше через Send.

\::Send, {,} ;печатает запятую с АЗ, и сразу активирует АЗ.

:?:\::, ;печатает запятую без АЗ(появляется сначала слеш, потом, после пробела превращается в запятую)

::н::надо

Они работают совместно, один с АЗ, другой с посимвольным набором. Осталось избавиться от перехода из слеш в запятую. Чтобы нажатие на слеш было равно нажатию на оригинальную запятую.

Уже здорово получилось. Хочу красиво сделать.

16

Re: AHK: АвтоЗамены и переназначенная запятая

AHK_on
Странно. У меня мой код работает для обоих случаев. Какая-то путаница здесь.

17 (изменено: ypppu, 2017-02-23 15:18:03)

Re: AHK: АвтоЗамены и переназначенная запятая

С АЗ работает, а с посимвольным набором так.
Набираю "надо"(или любое слово) по-символьно, затем жму "\" и слеш так и остаётся слешем. В одиночку от тоже остаётся слешем.

Аааа, понял в чём дело. Я жму на левый слеш. На правом слеше работает.

18 (изменено: YMP, 2017-02-23 13:47:45)

Re: AHK: АвтоЗамены и переназначенная запятая

Клавиатуры у нас сильно разные, что ли? Не совсем понятно мне, что происходит.

19 (изменено: ypppu, 2017-02-23 15:19:01)

Re: AHK: АвтоЗамены и переназначенная запятая

У меня европейская раскладка, маленький шифт слева, купил пару дней назад.

20 (изменено: ypppu, 2017-02-23 15:19:53)

Re: AHK: АвтоЗамены и переназначенная запятая

У левого слеша sc056 (vkE2).
У правого слеша 02B (vkDC).

21

Re: AHK: АвтоЗамены и переназначенная запятая

AHK_on, http://i.smiles2k.net/aiwan_smiles/nono.gif проставьте заглавные буквы и точки:
http://forum.script-coding.com/viewtopi … 16#p113016
http://forum.script-coding.com/viewtopi … 73#p113073
http://forum.script-coding.com/viewtopi … 81#p113081
http://forum.script-coding.com/viewtopi … 83#p113083
http://forum.script-coding.com/viewtopi … 84#p113084

22

Re: AHK: АвтоЗамены и переназначенная запятая

ypppuИзвините, не специально. А после тоже точки нужно ставить, это ведь как бы окончание предложения?

23

Re: AHK: АвтоЗамены и переназначенная запятая

Смайлик жёлтой жирной точкой не считается.

24 (изменено: AHK_on, 2017-02-23 14:15:29)

Re: AHK: АвтоЗамены и переназначенная запятая

Слешь заменил на sc056 или vkE2 и после АЗ слешь в запятую не превращается, плюс дублирует букву из АЗ, но в по-буквам всё в порядке.

sc056::Send, {,}

::н::надо

vkE2::Send, {,}

::н::надо

25

Re: AHK: АвтоЗамены и переназначенная запятая

AHK_on пишет:

У левого слеша sc056 (vkE2)

У меня, похоже, такого нет, или я не могу найти.

У правого слеша 02B (vkDC)

А это у меня левый слэш.