Tabでかな入力切り替え

Tabでかな入力に切り替える

// ==UserScript==
// @name         Tabでかな入力切り替え
// @license MIT
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Tabでかな入力に切り替える
// @author       You
// @match        https://typing-tube.net/movie/show*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // キーボードイベントをシミュレートする関数
    function simulateAltKanaKeyPress() {
        const altKeyEvent = new KeyboardEvent('keydown', {
            key: 'Alt',
            code: 'AltLeft',
            keyCode: 18,
            altKey: true,
            bubbles: true,
            cancelable: true
        });

        const kanaKeyEvent = new KeyboardEvent('keydown', {
            key: 'KanaMode',
            code: 'KanaMode',
            keyCode: 21,
            altKey: true,
            bubbles: true,
            cancelable: true
        });

        document.dispatchEvent(altKeyEvent);
        document.dispatchEvent(kanaKeyEvent);
    }

    // Tabキーが押されたときのイベントリスナー
    document.addEventListener('keydown', function(event) {
        if (event.key === 'Tab') {
            event.preventDefault(); // Tabキーのデフォルト動作を無効化
            simulateAltKanaKeyPress(); // Alt+Kanaキーをシミュレート
        }
    });
})();