Toggles voice dictation in ChatGPT using Alt+S (works even after browser restarts)
当前为
// ==UserScript==
// @name GPT Dictation Toggle (Alt+S) - Stable Edition
// @namespace http://tampermonkey.net/
// @version 3.0
// @description Toggles voice dictation in ChatGPT using Alt+S (works even after browser restarts)
// @author Kamil
// @match https://chatgpt.com/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
function simulateClick(element) {
const event = new MouseEvent("click", {
bubbles: true,
cancelable: true,
view: window
});
element.dispatchEvent(event);
console.log("Clicked:", element);
}
function findDictateButton() {
// Look for all .btn-primary buttons and return the one containing a microphone icon
const candidates = document.querySelectorAll('.btn-primary');
for (const btn of candidates) {
if (btn.querySelector('svg')?.getAttribute('aria-label') === 'Mic icon') {
return btn;
}
}
return null;
}
function findSubmitButton() {
// Submit dictation button always has this aria-label
return document.querySelector('button[aria-label="Submit dictation"]');
}
document.addEventListener('keydown', function (e) {
if (e.altKey && e.key.toLowerCase() === 's') {
e.preventDefault();
const stopBtn = findSubmitButton();
const startBtn = findDictateButton();
if (stopBtn) {
simulateClick(stopBtn); // Stop dictation
} else if (startBtn) {
simulateClick(startBtn); // Start dictation
} else {
console.warn("No suitable dictation button was found.");
}
}
});
})();