Клавіша швидкої клавіші для переключення мови введення в Windows 7


10

Я використовую Windows 7, і я хотів би визначити спеціальну гарячу клавішу для зміни між різними мовами введення.

Я знаю, що можу змінити їх на Ctrl+ Shift, Left Alt+ Shiftабо серйозний акцент, але мені не подобається жодне з них. Так чи є спосіб визначити щось на кшталт Ctrl+ Spaceдля переключення мови введення?

Відповіді:


3

Я думаю, що Windows не підтримує зміни цих клавіш. У будь-якому випадку, ви можете написати скрипт AutoIt, щоб прослухати спеціальні прив’язки клавіш і програмно надіслати одну із заздалегідь заданих комбінацій клавіш для зміни системи клавіатури.

;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift

HotKeySet("^{Space}", "change") ;Registers Control + Space

;Main loop
While 1
    Sleep(100)
WEnd

;Changes Keyboard Layout
Func change()
    Send ("{ALTDOWN}") ;Hold down Alt
    Sleep(100) ;Wait 100 milliseconds
    Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc

Просто завантажте та встановіть AutoIt (скористайтесь цим посиланням для завантаження та встановлення) та створіть файл із .au3розширенням. Скопіюйте і вставте код вище та збережіть його. Ви можете розмістити цей файл у своїй папці запуску, якщо ви хочете, щоб він відкрився під час входу.


3

Сценарій, описаний вище, не працював для мене, але я його змінив, і тепер він працює.

#Include <Misc.au3>
;~ #RequireAdmin
;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift

HotKeySet("^{Space}", "change") ;Registers Contorl + Space
$dll = DllOpen("user32.dll")

ToolTip("Try to use ^Space"&@CRLF&"!!!!!!!!!!!!!!!!!!!")
Sleep(3000)
ToolTip('')

;Main loop
While 1
    Sleep(100)
WEnd

;Changes Keyboard Layout
Func change()
 While _IsPressed("11",$dll)
  Sleep(10)
 WEnd
 Send ("{ALTDOWN}") ;Hold down Alt
    Sleep(100) ;Wait 100 milliseconds
    Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc

1

У Windows 7 у розділі Панель управління \ Регіон та мова \ Клавіатури та мова виберіть "Змінити клавіатури". Ви отримаєте невелике спливаюче вікно; там вибрали "Розширені налаштування клавіш", що дозволяє встановлювати комбінації для отримання безпосередньо кожної цільової клавіатури, а також загальну послідовність перемикання клавіш.


2
Проблема з цим полягає в тому, що він пропонує лише 3 варіанти, один з яких не на одній і тій же клавіші для обох макетів ... Інший варіант - встановити іншу клавішу для кожної мови, але для цього потрібна комбінація модифікаторів. Не ідеально.
Генрік Ерландссон

0

Альтернативна відповідь

Якщо дві розкладки клавіатури не відрізняються за багатьма символами, ви можете додати модифікатори Alt для іноземної мови (скажімо, стандартні символи розмітки США на шарі Alt німецької клавіатури) з утилітою типу AutoHotKey або подібної.

Або створити карту клавіш для ОС, що є більш правильним способом цього зробити.

  • ніколи не потрібно перемикатися і дивуватися, яка мова є активною (може бути дуже відволікаючою)
  • Ви можете отримати доступ до шару Alt часто, і це сповільнює ваш потік.

Для деяких європейських мов ви можете переміщати символи назавжди, замість шару.

Наприклад, [] і {} для комбінацій клавіш Alt / Shift () і [] ;: '"до клавіш поблизу üäö, що дозволяє зберегти майже нормальний макет США для кодування та звільнити місця для символів ваших мов у місцях де вони зазвичай проживають.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.