å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
é®ç APIï¼Keyboard APIï¼æä¾äºä½¿ç¨è¿æ¥å°è¿è¡æµè§å¨ç设å¤çç©çé®ççæ¹æ³ã
宿ä¾äºå¤ç§åè½ãé®çæ å°æä¾äºä¸ä¸ªæ¥å£ï¼ç¨äºæ£ç´¢é®çä¸ç¹å®ç©çé®çæçå符串ï¼ä»¥ä¾¿åç¨æ·æ£ç¡®æ è¯è¯¥é®ãé®çéå®ä½¿ç½é¡µè½å¤æè·é常ç±ç¨æ·ä»£çæåºå±æä½ç³»ç»ä¿ççé®ãKeyboard API ç颿ç¨éæ¯æä¾å ¨å±æ²æµ¸å¼ä½éªç Web åºç¨ç¨åºï¼ä¾å¦æ¸¸ææè¿ç¨è®¿é®åºç¨ç¨åºã
æ¦å¿µåç¨æ³ é®çæ å°å¨ç©çé®çä¸ï¼code
屿§å
嫿æä¸æé®çç©çä½ç½®ï¼key
屿§å
嫿ä¸é®çä¸è¯¥ç©çä½ç½®çæé®æçæçå符串ãkey
å¼èèäºé®ççåºå设置ï¼ä¾å¦âen-USâï¼ãå¸å±ï¼ä¾å¦âQWERTYâï¼å修饰é®ç¶æï¼ShiftãControl çï¼ãè¿å»æ²¡æåæ³æ£ç´¢è¿äºä¿¡æ¯ã
é®çæ å° API æä¾äºä¸ç§éè¿ Keyboard
æ¥å£å KeyboardLayoutMap
æ¥å£æ£ç´¢ç¹å®æé®æçæçåç¬¦ä¸²çæ¹æ³ãå¯ä»¥éè¿ navigator.keyboard
屿§è®¿é® Keyboard
æ¥å£ãKeyboard
æ¥å£æä¾ Keyboard.getLayoutMap
æ¹æ³ï¼è¯¥æ¹æ³è¿åä¸ä¸ª promiseï¼å
¶å
ç°ä¸ä¸ª KeyboardLayoutMap
对象ï¼è¯¥å¯¹è±¡å
å«ç¨äºå°ä»£ç 转æ¢ä¸ºé®çæåãææä»£ç å¼å表å¯å¨ UI äºä»¶ KeyboardEvent 代ç å¼è§èçåå
¥ç³»ç»é®é¨å䏿¾å°ã
以ä¸ç¤ºä¾æ¼ç¤ºå¦ä½è·åä¸è±è¯ QWERTY é®ç䏿 记为 W çé®ç¸å ³èçä½ç½®ç¹å®æå¸å±ç¹å®å符串ã
if (navigator.keyboard) {
const keyboard = navigator.keyboard;
keyboard.getLayoutMap().then((keyboardLayoutMap) => {
const upKey = keyboardLayoutMap.get("KeyW");
window.alert(`æ ${upKey} åä¸ç§»å¨ã`);
});
} else {
// åç¹å«çäºã
}
é®çéå®
丰å¯ç交äºå¼ç½é¡µã游æåè¿ç¨æµåªä½ä½éªé常éè¦å¨å ¨å±æ¨¡å¼ä¸è®¿é®ç¹æ®é®åé®çå¿«æ·é®ãæ¤ç±»é®/é®ç»åç示ä¾å æ¬ EscapeãAlt+Tab å Ctrl+Nãè¿äºé®åé®ç»åé常ç±ç¨æ·ä»£çæåºå±æä½ç³»ç»æè·ï¼å¦ä¸ä¾æç¤ºã
è¦æè· WãAãS å D é®ï¼è¯·ä½¿ç¨å
嫿¯ä¸ªé®çé®ä»£ç 屿§å¼çå表è°ç¨ lock()
ï¼
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);
æ 论æé®æ¶ä½¿ç¨åªç§ä¿®é¥°ç¬¦ï¼æ¤æä½é½ä¼æè·è¿äºé®ãå设éç¨æ åçç¾å½ QWERTY å¸å±ï¼æ³¨å KeyW
å¯ç¡®ä¿ WãShift+WãControl+WãControl+Shift+W 以忿å
¶ä»å¸¦æ W çé®ä¿®é¥°ç¬¦ç»åé½åéå°åºç¨ãè¿åæ ·éç¨äº KeyA
ãKeyS
å KeyD
ã
ä¼ éç» Keyboard.lock
ç代ç å KeyboardLayoutMap
æ¥å£çåç§æ¹æ³ç§°ä¸ºâåå
¥ç³»ç»é®âã
âåå ¥ç³»ç»é®âå¨ UI äºä»¶ KeyboardEvent 代ç å¼è§èçåå ¥ç³»ç»é®é¨åä¸å®ä¹ï¼å 为ç©çé®ä¼æ ¹æ®å½åè¯è¨ç¯å¢åé®çå¸å±æ¹åå«ä¹ãè¿äºé®å¦ä¸æç¤ºãæææ åé®çä¸é½æèè²é®ï¼è绿è²é®ä» 卿äºé®çä¸å¯ç¨ã
æ¥å£Keyboard
å®éªæ§
æä¾æ£ç´¢é®çå¸å±å¾åä»ç©çé®ç忢æè·æé®çåè½ã
KeyboardLayoutMap
å®éªæ§
ä¸ä¸ªç±» map ç对象ï¼å ·ææ£ç´¢ä¸ç¹å®ç©çé®å ³èçå符串çåè½ã
navigator.keyboard
åªè¯» å®éªæ§
è¿åä¸ä¸ª Keyboard
对象ï¼è¯¥å¯¹è±¡æä¾å¯¹æ£ç´¢é®çå¸å±å¾åä»ç©çé®ç忢æé®æè·çåè½ç访é®ã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4