Hotkey untuk mengganti bahasa input pada Windows 7

10

Saya menggunakan Windows 7 dan saya ingin mendefinisikan hotkey khusus untuk mengubah antara bahasa input yang berbeda.

Saya tahu bahwa saya bisa mengubahnya menjadi Ctrl+ Shift, Left Alt+ Shiftatau aksen kubur, tapi saya tidak suka keduanya. SO adakah cara untuk mendefinisikan sesuatu seperti Ctrl+ Spaceuntuk mengganti bahasa input?

Fynn
sumber

Jawaban:

3

Saya pikir Windows tidak secara alami mendukung perubahan kunci ini. Bagaimanapun, Anda dapat menulis skrip AutoIt untuk mendengarkan binding kunci kustom dan secara terprogram mengirim salah satu pintasan keyboard yang telah ditentukan ke sistem untuk mengubah tata letak keyboard.

;^ = 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

Cukup unduh dan instal AutoIt (gunakan tautan ini untuk mengunduh dan menginstal) dan buat file dengan .au3ekstensi. Salin dan tempel kode di atas dan simpan. Anda dapat menempatkan file ini ke folder Startup Anda jika Anda ingin dibuka ketika Anda login.

fardjad
sumber
3

Skrip di atas tidak berfungsi untuk saya, tetapi saya memodifikasinya, dan sekarang berhasil.

#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
Sergey Erokhin
sumber
1

Pada Windows 7, di bawah Control Panel \ Region & Language \ Keyboard & Bahasa, pilih 'Ubah Keyboard'. Anda akan mendapatkan jendela sembul kecil; di sana pilih 'Advanced Key Settings', yang memungkinkan Anda untuk mengatur kombinasi untuk secara langsung mendapatkan setiap keyboard target, serta urutan tombol switching umum.

Aganju
sumber
2
Masalah dengan ini adalah, ia hanya menawarkan 3 opsi, salah satunya tidak pada tombol yang sama pada kedua tata letak ... Opsi lainnya adalah mengatur kunci yang berbeda untuk setiap bahasa, tetapi membutuhkan kombo pengubah. Tidak ideal
Henrik Erlandsson
0

Jawaban alternatif

Jika dua tata letak keyboard tidak berbeda dengan banyak simbol, Anda dapat menambahkan Alt-modifiers untuk bahasa asing (misalnya, simbol Tata Letak AS standar pada lapisan Alt keyboard Jerman) dengan utilitas seperti AutoHotKey atau serupa.

Atau, buat keymap untuk OS yang merupakan cara yang lebih tepat untuk melakukannya.

  • tidak pernah harus beralih dan bertanya-tanya bahasa mana yang aktif (bisa sangat mengganggu)
  • Anda dapat mengakses layer Alt sering dan ini memperlambat aliran Anda.

Untuk beberapa bahasa Eropa, Anda dapat memindahkan karakter secara permanen, alih-alih memiliki layer.

Misalnya, [] dan {} ke Alt / Alihkan kombo () dan [] ;: '"ke kunci di dekat üäö, memungkinkan Anda menyimpan tata letak AS yang hampir normal untuk pengkodean dan memberikan ruang bagi karakter bahasa Anda di tempat-tempat di mana mereka biasanya tinggal.

Henrik Erlandsson
sumber