Как переписать данный скрипт?
Если я правильно понял задачу, чтобы основная кнопка мыши имитировала нажатие W, а вторая кнопка мыши - пробел с автоповтором:const buttonChars = {
  1: 'W',  // левая (основная) кнопка мыши
  2: ' ',  // правая (второстепенная) кнопка
};
/* коды кнопок см. в https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
    0 : No button or un-initialized
    1 : Primary button (usually the left button)
    2 : Secondary button (usually the right button)
    4 : Auxilary button (usually the mouse wheel button or middle button)
    8 : 4th button (typically the "Browser Back" button)
    16 : 5th button (typically the "Browser Forward" button)
 Могут быть нажаты одновременно несколько кнопок мыши - их коды суммируются.
*/

let timer;
const clearTimer = () => {if (timer) clearInterval(timer);}
const root = window;

root.addEventListener("mousedown", e => {
  if (buttonChars.hasOwnProperty(e.buttons)) {
    const func = () => e.target.dispatchEvent(
      new KeyboardEvent('keydown',{
        'key': buttonChars[e.buttons],
        'bubbles': true,
        'cancellable': true,
      })
    );
    
    func();
    clearTimer();
    timer = setInterval(func, 80);
  };
});

root.addEventListener("mouseup", clearTimer);snippet
https://codepen.io/andrejsharapov/pen/pmdNKW
https://codepen.io/32bitkid/pen/LKZzMR
может поможет