ปุ่มลัดเพื่อสลับภาษาที่ใช้ใน 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 ตัวเลือกซึ่งหนึ่งในนั้นไม่ได้อยู่บนคีย์เดียวกันกับทั้งสองเลย์เอาท์ ... อีกทางเลือกหนึ่งคือการตั้งค่าคีย์ที่แตกต่างกันสำหรับแต่ละภาษา แต่ต้องการคอมโบของตัวดัดแปลง ไม่เหมาะ
Henrik Erlandsson

0

ทางเลือกคำตอบ

หากรูปแบบแป้นพิมพ์สองรูปแบบไม่แตกต่างกันด้วยสัญลักษณ์หลายแบบคุณสามารถเพิ่ม Alt-modifiers สำหรับภาษาต่างประเทศ (เช่นสัญลักษณ์รูปแบบ US แบบมาตรฐานบนเลเยอร์ Alt ของแป้นพิมพ์ภาษาเยอรมัน) ด้วยยูทิลิตี้เช่น AutoHotKey หรือคล้ายกัน

หรือสร้างkeymap สำหรับระบบปฏิบัติการซึ่งเป็นวิธีที่ถูกต้องมากกว่าในการทำ

  • ไม่ต้องเปลี่ยนและสงสัยว่าภาษาใดที่ใช้งานอยู่ (สามารถเบี่ยงเบนความสนใจได้มาก)
  • คุณสามารถเข้าถึงเลเยอร์ Alt บ่อยครั้งและทำให้การไหลของคุณช้าลง

สำหรับภาษายุโรปบางภาษาคุณสามารถย้ายอักขระได้อย่างถาวรแทนที่จะมีเลเยอร์

ตัวอย่างเช่น [] และ {} ถึง Alt / Shift combos ของ () และ [] ;: '"ถึงปุ่มใกล้üäöช่วยให้คุณสามารถวางเลย์เอาต์ของสหรัฐอเมริกาในการเขียนโค้ดและวางตัวอักขระภาษาของคุณให้ตรงจุด พวกเขามักจะอาศัยอยู่ที่ไหน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.