ผมอ่านบางที่Alt Grสำคัญที่พบในรูปแบบบางอย่างทดแทน+CtrlAlt
อย่างไรก็ตามชุดค่าผสมนี้สามารถใช้เพื่ออะไรได้บ้าง มีทางลัดใด ๆ ที่ใช้เอกสารกำกับโดยใช้Ctrl+ Altหรือไม่
ผมอ่านบางที่Alt Grสำคัญที่พบในรูปแบบบางอย่างทดแทน+CtrlAlt
อย่างไรก็ตามชุดค่าผสมนี้สามารถใช้เพื่ออะไรได้บ้าง มีทางลัดใด ๆ ที่ใช้เอกสารกำกับโดยใช้Ctrl+ Altหรือไม่
คำตอบ:
IBM ตั้งชื่อคีย์นี้ว่า "กราฟิกสำรอง" และไม่ใช่ตัวทดแทนสำหรับCTRL+ ALTถึงแม้ว่าCTRL+ จะALTถูกนำไปใช้แทนALT GRใน Windows มันเป็นตัวดัดแปลงที่สำคัญ (เช่น CTRL หรือ SHIFT) ที่เปิดใช้งานการป้อนข้อมูลที่แตกต่างจากที่คาดไว้โดยปกติของคีย์
ขึ้นอยู่กับแป้นพิมพ์และการตั้งค่าตำแหน่งของคุณสามารถใช้สร้างอักขระที่มีเครื่องหมายกำกับเมื่อใช้ร่วมกับปุ่มตัวอักษร (ส่วนใหญ่มักเป็นเสียงสระ) และสัญลักษณ์ที่สามที่พิมพ์บนแป้นบางปุ่มเช่น€ ( ALT GR+ 4) หรือ ¦ ( ALT GR+ `) ที่ปรากฏบนแป้นพิมพ์ UK ของฉัน โดยทั่วไปแล้วแป้นพิมพ์ของ European Continental จะมีปุ่มเพิ่มเติมจำนวนมากที่มีสัญลักษณ์พิเศษพิมพ์อยู่บนตัวอักษรเหล่านั้นซึ่งตรงกับตัวอักษรที่มีเครื่องหมายกำกับเสียงหลายประเภทที่ใช้ในภาษาเหล่านั้น
ดูที่ปุ่ม AltGrสำหรับข้อมูลเพิ่มเติม
Alt
แต่เพียงบอกว่า มันแปลกที่บทความ Wikipedia ไม่ได้พูดถึงเรื่องนั้น
Alt Gr
จะดำเนินการเป็นCtrl
+ Alt
แต่Ctrl
+ ไม่ได้แมปไปAlt
Alt Gr
สำหรับแป้นพิมพ์บางตัวจะอนุญาตให้ใช้ชุดค่าผสมอื่น ในบางคีย์บอร์ดมันอนุญาตให้ใช้สัญลักษณ์ cent หรือสัญลักษณ์ Euro - Wikipedia มีรายการชุดค่าผสมที่ครอบคลุมโดยใช้ Alt Gr
อย่างไรก็ตามการใช้แป้นพิมพ์ US / Windows มันไม่ได้ทำอะไรในกรณีส่วนใหญ่
Alt gr จำเป็นสำหรับบางภาษาเช่นโปแลนด์:
Alt Gr+ a= ą
Alt Gr+ s= ś
Alt Gr+ shift+ n= Ń
นอกจากนี้ยังมีประโยชน์สำหรับผู้ที่ต้องการการเข้าถึงที่ต้องทำ Ctrl + alt + del คุณลองด้วยมือเดียว
AltGr
ที่จะCtrl
+ Alt
แปลง (อย่างน้อยใน Windows และ Linux) ดังนั้นพวกเขาจะไม่ได้ไปทำงานตรงเดียวกัน (อาจจะยกเว้นในกรณีของแป้นพิมพ์ส่งCtrl
+ Alt
scancodes.)
ฉันค่อนข้างมั่นใจว่ามันถูกนำไปใช้เช่นนี้
คุณสามารถทดสอบ vkCode จาก KBDLLHOOKSTRUCT เพื่อดูว่าคุณได้อะไร
รายการ enum แมปจากที่นี่ , ที่นี่และ www.pinvoke.net/default.aspx/Constants/WM.html
มันควรจะเท่ากับ:
using System.Windows.Forms;
isAltGr ? (Keys) (1 << 19) : Keys.None
private static Keys BuildKeyData(Keys virtualKeyCode) => virtualKeyCode | (IsDownControl ? Keys.Control : Keys.None) | (IsDownShift ? Keys.Shift : Keys.None) | (IsDownAlt ? Keys.Alt : Keys.None) | (IsAltGr ? (Keys) (1 << 19) : Keys.None);
private static bool IsDownControl => IsKeyPressed((ushort)VirtualKeys.LeftControl) || IsKeyPressed((ushort)VirtualKeys.RightControl);
private static bool IsDownShift => IsKeyPressed((ushort)VirtualKeys.LeftShift) || IsKeyPressed((ushort)VirtualKeys.RightShift);
private static bool IsDownAlt => IsKeyPressed((ushort)VirtualKeys.LeftMenu) || IsKeyPressed((ushort)VirtualKeys.RightMenu) || IsKeyPressed((ushort)VirtualKeys.Menu);
private static bool IsAltGr => IsDownControl && IsDownAlt;
ชุดปุ่ม Alt + Gr ที่สำคัญบนแป้นพิมพ์ภาษาเยอรมันเริ่มต้นคือ: