blockly > ShortcutRegistry

คลาส ShortcutRegistry

คลาสสำหรับรีจิสทรีของแป้นพิมพ์ลัด การดำเนินการนี้มีไว้เพื่อใช้เป็น Singleton คุณไม่ควรสร้างอินสแตนซ์ใหม่ และเข้าถึงคลาสนี้จาก ShortcutRegistry.registry เท่านั้น

ลายเซ็น:

export declare class ShortcutRegistry 

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ คีย์ตัวปรับแต่ง ประเภท คำอธิบาย
registry

static

readonly

ShortcutRegistry

เมธอด

วิธีการ คีย์ตัวปรับแต่ง คำอธิบาย
addKeyMapping(keyCode, shortcutName, allowCollision)

เพิ่มการแมประหว่างรหัสคีย์กับแป้นพิมพ์ลัด

โดยปกติแล้ว แป้นพิมพ์ลัด 1 รายการจะแมปกับรหัสคีย์ใดก็ได้ แต่การตั้งค่า allowCollisions เป็น "จริง" จะช่วยให้แป้นพิมพ์แมปกับแป้นพิมพ์ลัดได้หลายรายการ ในกรณีนี้ เมื่อมีการเรียก onKeyDown ด้วยแป้นพิมพ์ที่กด ฟังก์ชันนี้จะประมวลผลแป้นพิมพ์ลัดที่แมปตามลำดับย้อนกลับจากแป้นพิมพ์ลัดที่แมปล่าสุดไปจนถึงแป้นพิมพ์ลัดที่แมปล่าสุดน้อยที่สุด)

createSerializedKey(keyCode, modifiers) สร้างโค้ดคีย์ที่แปลงเป็นอนุกรมซึ่งจะใช้ในแผนที่คีย์
getKeyCodesByShortcutName(shortcutName) รับรหัสคีย์ที่แปลงเป็นอนุกรมซึ่งแป้นพิมพ์ลัดที่มีชื่อที่ระบุไว้จดทะเบียนไว้
getKeyMap() รับการแมปคีย์ปัจจุบัน
getRegistry() รับรีจิสทรีของแป้นพิมพ์ลัด
getShortcutNamesByKeyCode(keyCode) รับแป้นพิมพ์ลัดที่ลงทะเบียนกับรหัสคีย์ที่ระบุ
onKeyDown(workspace, e)

จัดการเหตุการณ์การกดแป้นลง

- ระบบจะประมวลผล KeyboardShortcut ที่แมปกับคีย์โค้ดซึ่งทริกเกอร์เหตุการณ์ e โดยเรียงลำดับจากรายการที่ลงทะเบียนล่าสุดไปจนถึงรายการที่ลงทะเบียนล่าสุด - หาก preconditionFn ของทางลัดมีอยู่แล้ว ระบบจะเรียกใช้ preconditionFn นั้น หาก preconditionFn แสดงผลเป็นเท็จ ระบบจะข้ามฟังก์ชัน callback ของแป้นพิมพ์ลัด ระบบจะประมวลผลต่อด้วยทางลัดถัดไป หากมี - จากนั้นระบบจะเรียกใช้ฟังก์ชัน callback ของทางลัด หากแสดงผลเป็น "จริง" การประมวลผลจะสิ้นสุดลงและ onKeyDown จะแสดงผลเป็น "จริง" หากผลลัพธ์เป็นเท็จ ระบบจะประมวลผลต่อด้วยทางลัดถัดไป (หากมี) - หากระบบประมวลผลแป้นพิมพ์ลัดที่ลงทะเบียนทั้งหมดสำหรับรหัสคีย์ที่ระบุแล้วโดยไม่มีแป้นพิมพ์ลัดใดแสดงผลเป็น "จริง" onKeyDown จะแสดงผลเป็น "เท็จ"

register(shortcut, allowOverrides) ลงทะเบียนแป้นพิมพ์ลัด
removeAllKeyMappings(shortcutName) นำการแมปคีย์ทั้งหมดสำหรับแป้นพิมพ์ลัดที่มีชื่อที่ระบุออก มีประโยชน์เมื่อเปลี่ยนการแมปแป้นเริ่มต้นและไม่ทราบรหัสแป้นที่ลงทะเบียนกับแป้นพิมพ์ลัด
removeKeyMapping(keyCode, shortcutName, quiet) นำการแมประหว่างรหัสคีย์กับแป้นพิมพ์ลัดออก
reset() ล้างและสร้างรีจิสทรีและ KeyMap อีกครั้ง
setKeyMap(newKeyMap) ตั้งค่าการแมปคีย์ การตั้งค่าการแมปแป้นจะลบล้างการแมปแป้นเริ่มต้น
unregister(shortcutName) ยกเลิกการลงทะเบียนแป้นพิมพ์ลัดที่ลงทะเบียนไว้โดยใช้ชื่อที่ระบุ การดำเนินการนี้จะนําการแมปแป้นพิมพ์ที่อ้างอิงแป้นพิมพ์ลัดนี้ออกด้วย