mirror of
https://github.com/basketikun/infinite-canvas.git
synced 2026-08-04 00:01:14 +08:00
Merge branch 'fork/beetle0915/fix/ime-enter-composition' into dev
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
type NativeKeyboardEventLike = {
|
||||
isComposing?: boolean;
|
||||
keyCode?: number;
|
||||
which?: number;
|
||||
};
|
||||
|
||||
type KeyboardEventLike = NativeKeyboardEventLike & {
|
||||
key?: string;
|
||||
shiftKey?: boolean;
|
||||
ctrlKey?: boolean;
|
||||
metaKey?: boolean;
|
||||
nativeEvent?: NativeKeyboardEventLike;
|
||||
};
|
||||
|
||||
export function isImeComposing(event: KeyboardEventLike) {
|
||||
const nativeEvent = event.nativeEvent;
|
||||
return Boolean(event.isComposing || nativeEvent?.isComposing || event.keyCode === 229 || event.which === 229 || nativeEvent?.keyCode === 229 || nativeEvent?.which === 229);
|
||||
}
|
||||
|
||||
export function isPlainEnterKey(event: KeyboardEventLike) {
|
||||
return event.key === "Enter" && !event.shiftKey && !event.ctrlKey && !event.metaKey && !isImeComposing(event);
|
||||
}
|
||||
Reference in New Issue
Block a user