🔧
NotebookLMで日本語入力中のEnter確定送信を防ぐTampermonkeyスクリプト
はじめに
NotebookLMを日本語で利用する際、変換確定のためにEnterキーを押すと、そのままテキストが送信されてしまう問題があります。これによって、まだ確定したくない入力途中の文字列が送信されてしまい、非常に煩わしい状況が発生します。
この問題をTampermonkeyを利用して解消するスクリプトを貼ってます。
背景
NotebookLMは、Googleが提供するノートブック型のLLMツールですが、UIが英語圏向けに最適化されているため、日本語入力時の使い勝手がやや劣る場合があります。その一例が、変換中のEnterキー押下で入力欄のテキストがそのまま送信されてしまう現象です。
この問題を解決するためには、Enterキーイベントを横取りし、変換中(isComposing状態)のEnter押下をテキスト送信として扱わないようにする必要があります。
対応策: Tampermonkeyスクリプト
以下のスクリプトをTampermonkeyに登録することで、NotebookLM上で日本語変換確定のためのEnterキーが、そのままテキスト送信になってしまう問題を防ぐことができます。
// ==UserScript==
// @name Notebook LM 日本語入力修正
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 日本語入力時にEnterキー確定を防ぐ
// @author knziiy
// @match https://notebooklm.google.com/notebook/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
document.addEventListener('keydown', function(event) {
if ((event.key === 'Enter' && event.isComposing) || event.keyCode === 229) {
event.stopPropagation();
}
}, { capture: true });
})();
スクリプトの説明
-
event.isComposing
: 日本語入力中(変換中)を判定するプロパティ -
event.key === 'Enter' && event.isComposing
: 変換中にEnterが押された場合を判定 -
event.stopPropagation()
: 親要素へのイベントの伝播を止めることで、元々NotebookLMが持っているEnter押下で送信する処理をブロック
@match
で指定されているURLに対して、このスクリプトが自動的に動作します。Tampermonkeyにインストールした後、NotebookLMを再読み込みすればすぐに適用されます。
なお、2024年下期以降頃の最近ではTampaermonkeyでスクリプトを動作させるには開発者モード
をオンにする必要がありましたのでご注意ください。
参考:
Discussion