3

Подобный вопросу здесь, я нашел скрипт AutohotKey (решение) ниже, чтобы скопировать выделенный текст и вставить его, нажав на среднюю кнопку мыши. Однако в сценарии все еще не хватает. Этот скрипт работает только тогда, когда я выделяю текст. Мне интересно, как я могу изменить его так, чтобы он также работал, когда я дважды щелкаю слово в тексте, и оно подсвечивается.

cos_mousedrag_treshold := 20 ; pixels


#IfWinNotActive ahk_class ConsoleWindowClass

~lButton::
  MouseGetPos, cos_mousedrag_x, cos_mousedrag_y
  keywait lbutton
  mousegetpos, cos_mousedrag_x2, cos_mousedrag_y2
  if (abs(cos_mousedrag_x2 - cos_mousedrag_x) > cos_mousedrag_treshold
    or abs(cos_mousedrag_y2 - cos_mousedrag_y) > cos_mousedrag_treshold)
  {
    wingetclass cos_class, A
    if (cos_class == "Emacs")
      sendinput !w
    else
      sendinput ^c
  }
  return

~mbutton::
  WinGetClass cos_class, A
  if (cos_class == "Emacs")
    SendInput ^y
  else
    SendInput ^v
  return

#IfWinNotActive


;; clipx
^mbutton::
  sendinput ^+{insert}
  return

1 ответ1

6

Вы можете изменить код следующим образом:

~lButton::
  if (A_PriorHotKey = "~lButton" && A_TimeSincePriorHotkey < "500") {
    if (cos_class == "Emacs")
      sendinput !w
    else
      sendinput ^c
    }
  // rest of code //

Настройте 500 на более высокие или более низкие значения в миллисекундах, если дважды щелкнуть быстрее / медленнее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .