Инструкция: Mac-раскладка на Windows 10

Не так давно совершил переход с Mac на Windows. До этого почти десять лет работал с macOS и на уровне подкорки запомнил все хоткеи, которые используются в этой ОС: Cmd + Space для смены раскладки, Shift + 6 для запятой, двоеточие через Shift + 5, Cmd + V, X, C и так далее.

Немного поковыряв интернет, нашел скрипт, который заменяет стандартные клавиши Windows на Mac-подобные, а если добавить к этому клавиатуру Magic Keyboard, то переход на Windows произойдёт ещё мягче.

Инструкция:

1. Скачиваем и устанавливаем программу AutoHotKey (она бесплатная):

2. Открываем блокнот и вставляем туда этот скрипт:

;========================================== ;Смена раскладки клавиатуры через cmd+Shift+Space ;========================================== #+sc039::PostMessage, 0x50, 2, 0,, A ;#sc039::PostMessage, 0x50, 2, 0,, A ; Cmd+Space работает в Windows XP ;====================================================== ;Выполнение команд независимо от языка через cmd+{Key}: ; Undo, Cut, Copy, Paste, Save, Find ;====================================================== #sc02C::SendInput ^{sc02C} ; Undo cmd+z #sc02D::SendInput ^{sc02D} ; Cut cmd+x #sc02E::SendInput ^{sc02E} ; Copycmd+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 $+/::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 }

3. Сохраняем файлик в расширением .ahk и запускаем.

​Пример открытого скрипта

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

Чтобы добавить скрипт автозапуск, откройте Explorer и введите туда:

C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

И в эту папочку поместите ярлык на *.ahk файл.

0
52 комментария
Написать комментарий...
Gen To

Какая вообще может быть причина переезжать с мак на виндоуз?

Ответить
Развернуть ветку
Виталий Воробьев

Я пользуюсь и тем и тем паралельно каждый день.

Мак все больше разочаровывает, а винда все больше удивляет.

Ответить
Развернуть ветку
7 комментариев
Ilya Shubenok

Мак переоценен, сильно. А с их ценами они могут идти в топку. 

Ответить
Развернуть ветку
16 комментариев
Denis Shiryaev
Автор

Клавиатура «бабочка» у прошек + Cuda совместимая видеокарта для ML

Ответить
Развернуть ветку
8 комментариев
Александр Качмала

например, полное отсутствие потребности подключать фрезерный ЧПУ к макоси. зачем, если для такого достаточно банки с виндоус?

Ответить
Развернуть ветку
Denis Shiryaev
Автор

Если тут в комментариях вдруг будут адепты AutoHotKey, помогите, пожалуйста, как сделать чтобы ALT + "-" вставлял длинный дефис "–" ?

Ответить
Развернуть ветку
Андрей Фролов

А раскладка Бирмана не подходит?

Ответить
Развернуть ветку
2 комментария
Kirill Pankin

!-::Send, —

:)

Длинное тире или m-dash, а не длинный дефис. ;)

Ответить
Развернуть ветку
1 комментарий
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alexey Kushnirov

Зачем использовать AutoHotKey для подмены на лету, когда можно просто отредактировать системную раскладку клавиатуры под себя с помощью фирменной утилиты MS Keyboard Layout Creator. https://www.microsoft.com/en-us/download/details.aspx?id=22339  Качаешь с их сайта, редактируешь стандартную англоязычную и русскоязычную раскладки и сохраняешь с нужными тебе именами — утилита сохраняет их в виде установочного комплекта. Потом устанавливаешь и в настройках клавиатуры выбираешь свою раскладку.

Ответить
Развернуть ветку
Vlad

Что-то он не работает уже на Win10...

Ответить
Развернуть ветку
1 комментарий
Vladimir Galler

Ай ты золото! 

Спасибо большое, господи

Ответить
Развернуть ветку
Михаил Фадеев

Удобно же, через Parallels запускаешь Windows.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Ksenia Gurina

Help pleeez!!! В клавишной раскладке Мака на Виндоуз10 не могу найти тире!! Я пишу длинные тексты, перешла с Мака (украли(((  установила фонетическую клаву Мака на Хуйвее ))  все так же, кроме тире, а в русском языке без него никак..Где оно???

Ответить
Развернуть ветку
WitcherGame

#Requires AutoHotkey v2.0

;==========================================
;Смена раскладки клавиатуры через cmd+Shift+Space
;==========================================

^sc039::PostMessage 0x50, 2, 0,, "A"
;#+sc039::PostMessage 0x50, 2, 0,, "A"
;#sc039::PostMessage 0x50, 2, 0,, "A"
; Cmd+Space работает в Windows XP

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

#sc02C::Send "^{sc02C}" ; Undo cmd+z
#sc02D::Send "^{sc02D}" ; Cut cmd+x
#sc02E::Send "^{SC02E}" ; Copycmd+c
#sc02F::Send "^{sc02F}" ; Paste cmd+v
;#sc031::Send "^{sc031}" ; New cmd+n
#sc01E::Send "^{sc01E}" ; Select All cmd+a
#sc01F::Send "^{sc01F}" ; Save cmd+s
#sc021::Send "^{sc021}" ; Find cmd+f
;#sc018::Send "^{sc018}" ; Open cmd+o
;#sc011::Send ^{F4} ; Close cmd+w
;#sc014::Send "^{sc014}" ; New Tab cmd+t
;#sc013::Send "^{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
;==============================================================

$+4::CheckRus("%","$") ; Двоеточие через Shift+5
$+5::CheckRus(":","%") ; Двоеточие через Shift+5
$+6::CheckRus(",","^") ; Запятая через Shift+6
$+7::CheckRus(".","&") ; Точка через Shift+7
$+8::CheckRus(";","*") ; Точка с запятой через Shift+8
$+/::CheckRus("?","/") ; Вопрос через /
$+?::CheckRus("?","?") ; Вопрос через Shift+/?

CheckRus(rus,eng)
{

WinID:=WinGetID("A")
ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", 0)
InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID)
if(InputLocaleID == "0x4190419")
{
Send "{Raw}" rus
}
if(InputLocaleId == "0x4090409")
{
Send "{Raw}" eng
}
Return
}

Доработал для версии 2.0. Единственно не знаю как заменить клавишу возле левого шифта, так что там все еще остается точка

Ответить
Развернуть ветку
Ivan Ivanov

Спасибо! Отлично работает. Я от вашего скрипта взял только назначения клавиш от русской раскладки. Остальное реализовал переназначением клавиш через стандартное MS Power Toys (потому что мне удобнее через левый ALT делать комбинации, пальцы привыкли что у меня CMD кнопка там).
Получилось идеально для свитчера. Даже удаление в корзину сделал через Alt+Backspace

Ответить
Развернуть ветку
49 комментариев
Раскрывать всегда