93 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
| /*
 | |
| Copyright 2016 OpenMarket Ltd
 | |
| Copyright 2017 New Vector Ltd
 | |
| Copyright 2019 The Matrix.org Foundation C.I.C.
 | |
| 
 | |
| Licensed under the Apache License, Version 2.0 (the "License");
 | |
| you may not use this file except in compliance with the License.
 | |
| You may obtain a copy of the License at
 | |
| 
 | |
|     http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
| Unless required by applicable law or agreed to in writing, software
 | |
| distributed under the License is distributed on an "AS IS" BASIS,
 | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| See the License for the specific language governing permissions and
 | |
| limitations under the License.
 | |
| */
 | |
| 
 | |
| export const Key = {
 | |
|     HOME: "Home",
 | |
|     END: "End",
 | |
|     PAGE_UP: "PageUp",
 | |
|     PAGE_DOWN: "PageDown",
 | |
|     BACKSPACE: "Backspace",
 | |
|     DELETE: "Delete",
 | |
|     ARROW_UP: "ArrowUp",
 | |
|     ARROW_DOWN: "ArrowDown",
 | |
|     ARROW_LEFT: "ArrowLeft",
 | |
|     ARROW_RIGHT: "ArrowRight",
 | |
|     TAB: "Tab",
 | |
|     ESCAPE: "Escape",
 | |
|     ENTER: "Enter",
 | |
|     ALT: "Alt",
 | |
|     CONTROL: "Control",
 | |
|     META: "Meta",
 | |
|     SHIFT: "Shift",
 | |
|     CONTEXT_MENU: "ContextMenu",
 | |
| 
 | |
|     COMMA: ",",
 | |
|     PERIOD: ".",
 | |
|     LESS_THAN: "<",
 | |
|     GREATER_THAN: ">",
 | |
|     BACKTICK: "`",
 | |
|     SPACE: " ",
 | |
|     SLASH: "/",
 | |
|     SQUARE_BRACKET_LEFT: "[",
 | |
|     SQUARE_BRACKET_RIGHT: "]",
 | |
|     A: "a",
 | |
|     B: "b",
 | |
|     C: "c",
 | |
|     D: "d",
 | |
|     E: "e",
 | |
|     F: "f",
 | |
|     G: "g",
 | |
|     H: "h",
 | |
|     I: "i",
 | |
|     J: "j",
 | |
|     K: "k",
 | |
|     L: "l",
 | |
|     M: "m",
 | |
|     N: "n",
 | |
|     O: "o",
 | |
|     P: "p",
 | |
|     Q: "q",
 | |
|     R: "r",
 | |
|     S: "s",
 | |
|     T: "t",
 | |
|     U: "u",
 | |
|     V: "v",
 | |
|     W: "w",
 | |
|     X: "x",
 | |
|     Y: "y",
 | |
|     Z: "z",
 | |
| };
 | |
| 
 | |
| export const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
 | |
| 
 | |
| export function isOnlyCtrlOrCmdKeyEvent(ev) {
 | |
|     if (isMac) {
 | |
|         return ev.metaKey && !ev.altKey && !ev.ctrlKey && !ev.shiftKey;
 | |
|     } else {
 | |
|         return ev.ctrlKey && !ev.altKey && !ev.metaKey && !ev.shiftKey;
 | |
|     }
 | |
| }
 | |
| 
 | |
| export function isOnlyCtrlOrCmdIgnoreShiftKeyEvent(ev) {
 | |
|     if (isMac) {
 | |
|         return ev.metaKey && !ev.altKey && !ev.ctrlKey;
 | |
|     } else {
 | |
|         return ev.ctrlKey && !ev.altKey && !ev.metaKey;
 | |
|     }
 | |
| }
 |