1 (изменено: Rumpel, 2015-02-20 17:57:18)

Тема: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

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

Сейчас работает вот такой скрипт:

Alt::Ctrl
Ctrl::Alt
$+5::CheckRus(":","%")  
$+6::CheckRus(",","^") 
$+7::CheckRus(".","&") 
$+8::CheckRus(";","*") 

CheckRus(rus,eng)
{
SetFormat, Integer, H
WinGet, WinID,, A
ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", 0)
InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID)
if(InputLocaleID == "0x4190419")
{
Send %rus%
}
if(InputLocaleId == "0x4090409")
{
SendRaw %eng%
}
Return
}

Подчеркну, что теперь в русской раскладке символы ":", ",", "." и ";" вводятся сочетаниями клавиш Shift+5, Shift+6, Shift+7 и Shift+8. ПРи этом обычная клавиша с точкой и запятой так и осталась с точкой и запятой:)) Таким образом, в русской раскладке у меня нет как минимум вопросительного знака. Переключаться на английскую раскладку для его ввода неудобно.
При попытке аналогичным (см. скрипт выше) образом заменить запятую в русской раскладке на вопросительный знак, у меня рандомно то в русской, то английской раскладке это стало то работать, то нет.

Подскажите, пожалуйста, как это сделать?
Повторюсь еще раз: нужно, чтобы вместо запятой в русской раскладке (с шифтом вводится) был вопросительный знак.

Заранее всех благодарю!

2

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

Rumpel, ознакомьтесь с этой темой, отредактируйте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

По vk-коду можно делать автозамену.

4

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

teadrinker пишет:

Rumpel, ознакомьтесь с этой темой, отредактируйте заголовок.

Отредактировал. Благодарю за поправку!

5

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

ypppu пишет:

По vk-коду можно делать автозамену.

Буду благодарен, если Вы чуть подробнее напишите. Я не программист:) AHK я слегка изучил только ради того, чтобы на рабочем компьютере под себя можно было удобно клавиатуру настроить.

6 (изменено: stealzy, 2015-02-21 14:16:45)

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

vkBF - код вашей клавиши.
Дальше гуглите по vk-кодам или читайте справку на тему горячих клавиш.
------------------------------------
Don't be a vampire http://slash7.com/pages/vampires,
use google

7

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

stealzy пишет:

vkBF - код вашей клавиши.
Дальше гуглите по vk-кодам или читайте справку на тему горячих клавиш.
------------------------------------
Don't be a vampire http://slash7.com/pages/vampires,
use google

Спасибо! Все получилось.

8

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

Rumpel, не нужно бессмысленно цитировать предыдущий пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9 (изменено: burglar, 2022-11-07 12:47:01)

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

Верное содержимое получилось вот такое:


;======================================================
;Выполнение команд независимо от языка через cmd+{Key}: 
;  Undo, Cut, Copy, Paste, Save, Find
;======================================================

#sc02C::SendInput ^{sc02C}  ; Undo   cmd+z
#sc02D::SendInput ^{sc02D}  ; Cut    cmd+x
#sc02E::SendInput ^{sc02E}  ; Copy   cmd+c
#sc02F::SendInput ^{sc02F}  ; Paste  cmd+v
#sc031::SendInput ^{sc031}  ; New    cmd+n
#sc01E::SendInput ^{sc01E}  ; Select All cmd+a
#sc01F::SendInput ^{sc01F}  ; Save   cmd+s
#sc021::SendInput ^{sc021}  ; Find   cmd+f
#sc018::SendInput ^{sc018}  ; Open   cmd+o
#sc011::SendInput ^{F4}     ; Close  cmd+w
#sc014::SendInput ^{sc014} ; New Tab cmd+t
;#sc013::SendInput ^{sc013} ; Reload  cmd+r

;==============================================================
;Выполнение команд независимо от языка в MS Office через cmd+{Key}: 
;   Bold, Italic 
;==============================================================

#sc030::SendInput ^{sc030}  ; Bold  cmd+b 
#sc017::SendInput ^{sc017}  ; Italic  cmd+i


;==============================================================
;Корректное отображение символов в соответсвии с RU/ENG Apple Keyboard
;==============================================================
$+5::CheckRus(":","%")      ; Двоеточие через Shift+5
$+6::CheckRus(",","^")      ; Запятая через Shift+6
$+7::CheckRus(".","&")      ; Точка через Shift+7
$+8::CheckRus(";","*")      ; Точка с запятой через Shift+8
$VKBF::CheckRus("/","/")    ; обычный слеш при нажатии на /
$+vkBF::CheckRus("?","?")   ; знак вопроса через Shift+/

CheckRus(rus,eng)
{
SetFormat, Integer, H
WinGet, WinID,, A
ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", 0)
InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID)
if(InputLocaleID == "0x4190419")
{
Send %rus%
}
if(InputLocaleId == "0x4090409")
{
SendRaw %eng%
}
Return
}

10

Re: AHK: Замена в русской раскладке клавиатуры запятой на знак вопроса

burglar, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на заглавные буквы в начале предложений.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder