| 
					
				 | 
			
			
				@@ -1518,6 +1518,30 @@ class App extends React.Component<ExcalidrawProps, AppState> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Input handling 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   private onKeyDown = withBatchedUpdates((event: KeyboardEvent) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // normalize `event.key` when CapsLock is pressed #2372 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "Proxy" in window && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ((!event.shiftKey && /^[A-Z]$/.test(event.key)) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (event.shiftKey && /^[a-z]$/.test(event.key))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event = new Proxy(event, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        get(ev: any, prop) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const value = ev[prop]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (typeof value === "function") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // fix for Proxies hijacking `this` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return value.bind(ev); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return prop === "key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ? // CapsLock inverts capitalization based on ShiftKey, so invert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // it back 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              event.shiftKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ? ev.key.toUpperCase() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              : ev.key.toLowerCase() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            : value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // ensures we don't prevent devTools select-element feature 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (event[KEYS.CTRL_OR_CMD] && event.shiftKey && event.key === "C") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 |