Very nice.
What API is used to track Shift/Ctrl/Alt keys state?
What API is used to track Shift/Ctrl/Alt keys state?
You need to listen for the pointer events because some devices such as Wacom tablets do not dispatch proper keyboard events when you press a button that has a modifier key role assigned to it.
On Apple devices event.metaKey represents the state of the command key, so in most scenarios you would be storing the state as: let ctrlOrCmd = (isAppleDevice ? event.metaKey : event.ctrlKey);