Skip to content

Instantly share code, notes, and snippets.

@ash-r1
Last active June 28, 2023 05:26
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save ash-r1/55d4da4c9bd3a3be907910ec999f94a2 to your computer and use it in GitHub Desktop.
Save ash-r1/55d4da4c9bd3a3be907910ec999f94a2 to your computer and use it in GitHub Desktop.
Bing AIの入力フォームでIME変換中のEnterでは送られないようにする
// ==UserScript==
// @name ChatGPT Enter Fix (GPT4)
// @name:ja ChatGPT Enter Fix (GPT4)
// @namespace http://tampermonkey.net/
// @description This Chrome/Safari extension addresses the issue where ChatGPT sends text even when the Enter key is pressed during Japanese conversion.
// @description:ja ChatGPTにおいて日本語IMEで変換中にEnterを押した時に送信されてしまうの問題を阻止します。 Safariにも対応。
// @version 2.1
// @author satosh1suzuk1, d-engine
// @match https://chat.openai.com
// @match https://chat.openai.com/*
// ==/UserScript==
// wrap in anonymous scope to prevent confliction.
(() => {
console.log('chatGPT fix')
const tryInject = () => {
console.log('tryInject')
const textarea = document.getElementById('prompt-textarea')
if (!textarea) {
return;
}
// Documentが存在する場合のみ、処理を実行する
clearInterval(interval);
textarea.addEventListener(
"keydown",
(event) => {
if (event.key === "Enter") {
// [IME is on] && [Pressed Enter first time]
if ( event.target.dataset.isComposing === 'true' && event.target.dataset.previousKey !== "Enter" ) {
event.stopPropagation();
}
}
event.target.dataset.previousKey = event.key;
if (event.isComposing) {
event.target.dataset.isComposing = 'true';
} else {
delete event.target.dataset.isComposing;
}
},
{ capture: true }
);
}
const interval = setInterval(tryInject, 100);
})();
@ash-r1
Copy link
Author

ash-r1 commented Mar 9, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment