Как перехватить клавишу Caps Lock для операций вырезания, копирования, вставки клавиатуры - PullRequest
6 голосов
/ 11 октября 2009

Вот что я пытаюсь сделать:

  1. Для копирования нажмите и отпустите Caps Lock ONCE
  2. Чтобы вставить, нажмите и отпустите Caps Lock ДВАЖДЫ, быстро
  3. Чтобы вырезать, нажмите Ctrl + Caps Lock

Причина, по которой я хочу это сделать, часто бывает так, что я сам смотрю вниз, нажимая правильную клавишу X / C / V, поскольку все они рядом (по крайней мере, на QWERTY-клавиатуре).

Как я могу сделать это на стандартной клавиатуре (используя Windows), чтобы она распространялась на всю систему и была прозрачной для всех приложений, включая Windows Explorer? Если это невозможно при использовании стандартной клавиатуры, может ли какая-либо из «программируемых цифровых клавиатур» сделать это, как вы думаете?

В вышесказанном под "прозрачным" я подразумеваю "приложение никогда не должно знать, что это нажатие клавиши было переведено. Оно получает только обычные Ctrl + X / C / V код, так что он ведет себя без проблем ".

Ps. Не уверен во всех тегах, которые подходят для этого вопроса, поэтому не стесняйтесь добавлять больше тегов.

решаемая. ОБНОВИТЬ: Спасибо @Jonno_FTW за знакомство с AutoHotKey. Я выполнил все три требования, добавив следующий скрипт AHK в файл AutoHotKey.ahk по умолчанию в папке «Мои документы»:

Ctrl & CapsLock::
  Send ^x
Return      
CapsLock::
If (A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 1000)
  Send ^v
Else
  Send ^c
Return

Это было легко!

НЕ ПОЛНОСТЬЮ РЕШЕНО. UPDATE: Вышеуказанное работает в Блокноте, но НЕ в Проводнике (например, копирование файлов) или MS Office (даже копирование текста не работает). Итак, мне нужно побольше покопаться в AutoHotKey или других решениях. Здесь выложу решение, когда найду. А пока, если кто-то может заставить AutoHotKey работать на все, что мне нужно, пожалуйста, ответьте!

ВСЕ решено. UPDATE: Все, что мне нужно было сделать, это изменить прописную букву "C" / X / Z на строчную "c" / x / z. Так что отправка ^ C стала отправкой ^ c. Теперь он работает во всех программах, включая Windows Explorer! Исправленный код выше отражает это изменение.

Ответы [ 3 ]

5 голосов
/ 11 октября 2009

Я считаю, что вы ищете программу AutoHotkey .

3 голосов
/ 11 октября 2009
2 голосов
/ 06 января 2010

Очень мило! Некоторое время искал что-то подобное.

Мой сценарий немного отличается, используя комбинации сдвига или управления для вырезания / копирования, тогда CapsLock сам по себе всегда вставляется.

Ctrl & CapsLock::
  Send ^x
Return

Shift & CapsLock::
  Send ^c
Return

CapsLock::
  Send ^v
Return

Если вы хотите сохранить опцию сохранения функции Caps Lock, я полагаю, вы всегда можете переназначить, например, Alt-CapsLock для этого. Хотя я не мог заставить его правильно переключаться, когда пытался.

...