5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Labs.perplexity.aiでの日本語入力中のEnterで送信されないようにする。

Posted at

:koala: 以下の文はDBRX-Instructに作成してもらいました。
:koala: tampermonkeyが必要になります。

Perplexity.ai Composition Events について

この記事では、Perplexity.ai Composition Events という UserScript について解説します。この UserScript は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにするものです。

Perplexity.ai Composition Events とは

Perplexity.ai Composition Events は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする UserScript です。この UserScript は、labs.perplexity.ai の Web サイトで使用することを想定しています。

labs.erplexity.ai は、機械学習モデルの開発や評価を行うためのプラットフォームです。labs.Perplexity.ai では、様々な言語でのテキスト入力が可能ですが、日本語入力中に Enter キーを押下すると、意図せずに検索クエリが送信されてしまうことがあります。この UserScript は、この問題を解決するために作成されました。

Perplexity.ai Composition Events の機能

Perplexity.ai Composition Events は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする機能を提供します。この機能は、以下のように動作します。

  1. 日本語入力開始時に compositionstart イベントを監視し、isComposing 変数を true に設定します。
  2. 日本語入力終了時に compositionend イベントを監視し、isComposing 変数を false に設定します。
  3. キーダウンイベントを監視し、isComposing 変数が true の場合に Enter キーが押下されても検索クエリが送信されないようにします。

Perplexity.ai Composition Events の利用方法

Perplexity.ai Composition Events を利用するには、以下の手順に従ってください。

  1. Tampermonkey などの UserScript 管理拡張機能をインストールします。
  2. Perplexity.ai Composition Events の UserScript を Tampermonkey に追加します。
  3. labs.perplexity.ai の Web サイトにアクセスし、日本語入力を開始します。
  4. 日本語入力中に Enter キーを押下しても検索クエリが送信されないことを確認します。

Perplexity.ai Composition Events のソースコード

Perplexity.ai Composition Events のソースコードは、以下の通りです。

// ==UserScript==
// @name         Perplexity.ai Composition Events
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Prevent Enter key from submitting search query during Japanese input on labs.perplexity.ai
// @match        https://labs.perplexity.ai/
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    var input_element = document.querySelector("textarea");
    var isComposing = false;

    // 日本語入力開始
    input_element.addEventListener('compositionstart', function(){
        isComposing = true;
    });

    // 日本語入力終了
    input_element.addEventListener('compositionend', function(){
        isComposing = false;
    });

    // 修正後のhandleIMEEnter関数
    function handleIMEEnter(event) {
        if (event.code == "Enter" && isComposing) {
            event.stopPropagation();
        }
    }

    // handleIMEEnter関数をキーダウンイベントのリスナーとして登録
    input_element.addEventListener('keydown', handleIMEEnter);
})();

まとめ

Perplexity.ai Composition Events は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする UserScript です。この UserScript は、Perplexity.ai の Web サイトで使用することを想定しています。この UserScript は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする機能を提供します。この UserScript を利用することで、日本語入力中に意図しない検索クエリの送信を防ぐことができます。

:koala: Spacial Thanks: masachika.kmd

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?