Визуализация нажатий клавиш — отличный способ изучить сочетания клавиш для приложения. В остальном, если вам нужно записать скринкаст, рекомендуется отображать нажатия клавиш на экране и сэкономить много времени во время редактирования. Если вам нужен хороший настраиваемый инструмент для отображения нажатий клавиш в Windows 10, вам стоит попробовать Carnac.
Показать нажатия клавиш
Скачать и запустите Карнак. Приложение имеет открытый исходный код и не требует установки. Когда вы запускаете его, он сразу переходит в системный трей. По умолчанию он будет отображать нажатия клавиш и щелчки мыши, выделяя, какая кнопка мыши была нажата. Первое, что вы хотите сделать после запуска приложения, — это настроить его. Дважды щелкните значок приложения на панели задач, чтобы открыть его настройки.
На вкладке «Общие» вы можете выбрать место отображения нажатия клавиши на экране. Используйте ползунки смещения вверху, внизу, влево и вправо, чтобы расположить визуал. Carnac поддерживает несколько мониторов, поэтому вы можете выбрать, на каком мониторе должно отображаться нажатие клавиши. Будьте осторожны с этой настройкой, потому что, если вы слишком сильно сместите ее со всех сторон, это может лишить визуализации.
После того, как вы разместили визуализацию приложения, перейдите на вкладку «Клавиатура». Здесь вы можете настроить, будет ли приложение отображать все нажатия клавиш или только те, которые включают клавиши-модификаторы. Вы также можете настроить визуальный элемент, его размер шрифта, прозрачность и цвет.
На вкладке «Мышь» вы можете настроить отображение щелчков мыши на экране. Если вы не хотите, чтобы щелчки мыши отображались, снимите флажок «Показывать щелчки мыши». Этот параметр немного ошибочен, поэтому, если он не применяется, установите значение ползунка Stop Opacity на 1, выйдите из приложения и запустите его снова. Это должно делать свое дело.
Вот как нажатия клавиш появляются на вашем экране.
Приложение не показывает нажатия клавиш на обоих мониторах, что может быть недостатком для некоторых пользователей, но все остальное делает безупречно. Если визуальный элемент сложно увидеть на рабочем столе, вы можете настроить его в соответствии с любым фоном, а также изменить время, в течение которого он остается видимым на экране. Это должно быть записано на любом инструменте для создания скринкастеров, поэтому беспокоиться не о чем. Он работает с инструментом OBS и Snagit.
Приложение не находится в активной разработке, но мы протестировали его на Windows 10 1809, и оно работает без проблем.
Если у вас Mac, и вам нужно отображать нажатия клавиш, есть отличное приложение, которое может сделать это за вас.
Что вы думаете об этой статье?
I’ve written an AutoHotkey_L script for this purpose.
To run it, use AutoHotkey_L (direct dl), it’s FOSS. Also, with AutoHotkey you can compile script to EXE (simply Ahk2Exe.exe /in DisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe ).
It can display pressed keys OSD-like or standard Tool-tip near mouse cursor.
Also, it displays mouse button clicks and wheel scrolling.
(note that frame & blurring is done for illustration purposes, the script itself only displays text w/o any disturbances)
Heres’s the script (copy and paste to notepad, save as DisplayPressedKeysOnScreen.ahk):
#NoEnv
#SingleInstance force
#InstallKeybdHook
#MaxHotkeysPerInterval 500
;This work by LogicDaemon is licensed under a Creative Commons Attribution 3.0 Unported License.
Global IdleDelay, LargeDisplay
IdleDelay:=3000
LargeDisplay:=1
; 0 = Tooltip near mouse pointer
; 1 = Big pane at screen bottom
;TrayTip %A_ScriptName%, Чтобы выйти`, нажмите правую клавишу Windows
TrayTip %A_ScriptName%, To Exit`, press the Right Windows logo key.
InputHook := InputHook("BCL1qMV*", "", "")
InputHook.KeyOpt("{All}", "INV")
InputHook.OnKeyDown := Func("OnKeyDown")
InputHook.OnKeyUp := Func("OnKeyUp")
InputHook.OnEnd := Func("RegisterKey")
Loop {
InputHook.Start()
InputHook.Wait()
}
return
RWin::
ExitApp
~*LButton::
~*RButton::
~*MButton::
~*XButton1::
~*XButton2::
MouseTooltip(SubStr(A_ThisHotkey, 3), 1)
return
~*LButton Up::
~*RButton Up::
~*MButton Up::
~*XButton1 Up::
~*XButton2 Up::
MouseTooltip(SubStr(A_ThisHotkey, 3, -3), 0)
return
~*WheelDown::
~*WheelUp::
~*WheelLeft::
~*WheelRight::
MouseTooltip(SubStr(A_ThisHotkey, 3), 1)
MouseTooltip(SubStr(A_ThisHotkey, 3), 0)
return
MouseTooltip(mbuttons, state){
RegisterKey(mbuttons, state)
}
TooltipOff:
If LargeDisplay
Gui Hide
Else
Tooltip
lastStatesText := {}
return
OnKeyDown(inputHook, VK, SC) {
RegisterKey(inputHook, 1, VK, SC)
}
OnKeyUp(inputHook, VK, SC) {
RegisterKey(inputHook, 0, VK, SC)
}
RegisterKey(inputHook, kstate := 1, VK := 0, SC := 0) {
local
global IdleDelay, lastStatesText, inputString
static keyStates := {}, prevKey, lastPressed, prevState, repeated := 0
, KeyMappingToName := { (Chr(27)): "Escape"
, (Chr(32)): "Space"
, (Chr(10)): "Enter" }
, SkipRepeat := { "LShift": ""
, "RShift": ""
, "LControl": ""
, "RControl": ""
, "LAlt": ""
, "RAlt": ""
, "LWin": ""
, "RWin": "" }
, StringEndKeys := { "{Enter}": ""
, "{Escape}": ""
, "{Tab}": ""
, "{Up}": ""
, "{Down}": ""
, "{PgUp}": ""
, "{PgDn}": "" }
If (VK || SC) {
singleKey := GetKeyName(Format("vk{:02x}sc{:02x}", VK, SC))
} Else If (!IsObject(inputHook)) {
singleKey := inputHook
}
textKey := StrLen(singleKey) == 1 ? singleKey : "{" singleKey "}"
keyStatesText := ""
For key, state in keyStates
If (state && key != singleKey)
keyStatesText .= key "+"
keyStates[singleKey] := kstate
If (kstate && lastPressed == textKey && keyStatesText == lastStatesText) {
If (!SkipRepeat.HasKey(singleKey))
repeated++
} Else {
If (kstate) {
If (repeated) {
inputString .= (repeated > 4 || StrLen(lastPressed) > 1) ? "×" . repeated+1 : StrRepeat(lastPressed, repeated)
, repeated := 0
}
If (keyStatesText != lastStatesText || StringEndKeys.HasKey(lastPressed))
inputString := textKey, lastStatesText := keyStatesText
Else If (StrLen(inputString) < 15)
inputString .= textKey
Else
inputString := "…" SubStr(inputString, -15) textKey
lastPressed := textKey
}
}
ShowKeys((lstate ? keyStatesText : lastStatesText) . inputString . (repeated ? ("×" . repeated+1) : (kstate ? "↓" : "↑")))
prevKey := singleKey, prevState := kstate
SetTimer TooltipOff, % -IdleDelay
}
ShowKeys(text) {
global GUIx, GUIy, GUIw, GUIh
, blkOsdCtrlName, blkOsdCtrlName2
, MonitorLeft, MonitorRight, MonitorBottom, MonitorTop
If (LargeDisplay) {
CoordMode Mouse, Screen
MouseGetPos MouseX, MouseY
InitLargeDisplay(MouseX, MouseY)
If ((!GUIy) || (MouseX >= MonitorLeft && MouseX <= MonitorRight && MouseY >= GUIy && MouseY <= (GUIy+GUIh)) ) {
If (MouseY < (MonitorTop + (MonitorBottom - MonitorTop) / 2) )
GUIy := MonitorBottom - (MonitorBottom - MonitorTop) * 0.2
Else
GUIy := MonitorTop + (MonitorBottom - MonitorTop) * 0.2
}
GuiControl Text, blkOsdCtrlName, %text%
GuiControl Text, blkOsdCtrlName2, %text%
Gui, Show, x%GUIx% y%GUIy% NoActivate
} Else {
Tooltip % text
}
}
InitLargeDisplay(MouseX, MouseY) {
global GUIx, GUIy, GUIw, GUIh
, blkOsdCtrlName, blkOsdCtrlName2
, Monitor, MonitorLeft, MonitorRight, MonitorBottom, MonitorTop
static guiInitialized := False
;Initializing GUI / reinitializing after changing monitor
;modded func originated from http://www.autohotkey.com/board/topic/8190-osd-function/
If ( ( MouseX < MonitorLeft
|| MouseX > MonitorRight
|| MouseY < MonitorTop
|| MouseY > MonitorBottom)
|| !guiInitialized) { ; mouse is outside of last screen GUI was positioned at
;80 SM_CMONITORS: Number of display monitors on the desktop (not including "non-display pseudo-monitors").
SysGet monCount, 80
Loop % monCount
{
SysGet Monitor, Monitor, %A_Index%
If (MouseX >= MonitorLeft && MouseX <= MonitorRight && MouseY >= MonitorTop && MouseY <= MonitorBottom) {
found := true
break
}
}
If (!found) ; mouse cursor not found on any screen, fallback to default monitor
SysGet Monitor, Monitor
GUIx := MonitorLeft
, GUIw := MonitorRight - MonitorLeft
, GUIh := (MonitorBottom - MonitorTop) * GUIw * 0.00003
If (GUIh > ((MonitorBottom - MonitorTop) * 0.3))
GUIh := (MonitorBottom - MonitorTop) * 0.3
opacity:="230"
, fname:="Tahoma"
, fsize:=GUIh * 0.65 ; really, pixel = 0.75 point, but with 0.75 lowercase letter with lower part (like "g") will get cut
, fcolor:="cccccc"
, bcolor:="222222"
, fformat:="600"
If (guiInitialized)
Gui Destroy
Gui +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui Margin, 0, 0 ;pixels of space to leave at the left/right and top/bottom sides of the window when auto-positioning.
Gui Color, ffffff ;changes background color
Gui Font, s%fsize% w%fformat%, %fname%
; 0x80 = SS_NOPREFIX -> Ampersand (&) is shown instead of underline one letter for Alt+letter navigation
Gui Add, Text, c%bcolor% Center +0x80 w%GUIw% h%GUIh% BackgroundTrans VblkOsdCtrlName, tesT test test
Gui Add, Text, c%fcolor% Center +0x80 w%GUIw% h%GUIh% BackgroundTrans VblkOsdCtrlName2 xp-3 yp-3 , tesT test test
WinSet ExStyle, +0x20 ; WS_EX_TRANSPARENT -> mouse klickthrough
WinSet TransColor, ffffff %opacity%
guiInitialized := True
}
}
StrRepeat(str, cnt) {
If (cnt<1)
return ""
o := str
Loop % cnt-1
o .= str
return o
}
I’ve written an AutoHotkey_L script for this purpose.
To run it, use AutoHotkey_L (direct dl), it’s FOSS. Also, with AutoHotkey you can compile script to EXE (simply Ahk2Exe.exe /in DisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe ).
It can display pressed keys OSD-like or standard Tool-tip near mouse cursor.
Also, it displays mouse button clicks and wheel scrolling.
(note that frame & blurring is done for illustration purposes, the script itself only displays text w/o any disturbances)
Heres’s the script (copy and paste to notepad, save as DisplayPressedKeysOnScreen.ahk):
#NoEnv
#SingleInstance force
#InstallKeybdHook
#MaxHotkeysPerInterval 500
;This work by LogicDaemon is licensed under a Creative Commons Attribution 3.0 Unported License.
Global IdleDelay, LargeDisplay
IdleDelay:=3000
LargeDisplay:=1
; 0 = Tooltip near mouse pointer
; 1 = Big pane at screen bottom
;TrayTip %A_ScriptName%, Чтобы выйти`, нажмите правую клавишу Windows
TrayTip %A_ScriptName%, To Exit`, press the Right Windows logo key.
InputHook := InputHook("BCL1qMV*", "", "")
InputHook.KeyOpt("{All}", "INV")
InputHook.OnKeyDown := Func("OnKeyDown")
InputHook.OnKeyUp := Func("OnKeyUp")
InputHook.OnEnd := Func("RegisterKey")
Loop {
InputHook.Start()
InputHook.Wait()
}
return
RWin::
ExitApp
~*LButton::
~*RButton::
~*MButton::
~*XButton1::
~*XButton2::
MouseTooltip(SubStr(A_ThisHotkey, 3), 1)
return
~*LButton Up::
~*RButton Up::
~*MButton Up::
~*XButton1 Up::
~*XButton2 Up::
MouseTooltip(SubStr(A_ThisHotkey, 3, -3), 0)
return
~*WheelDown::
~*WheelUp::
~*WheelLeft::
~*WheelRight::
MouseTooltip(SubStr(A_ThisHotkey, 3), 1)
MouseTooltip(SubStr(A_ThisHotkey, 3), 0)
return
MouseTooltip(mbuttons, state){
RegisterKey(mbuttons, state)
}
TooltipOff:
If LargeDisplay
Gui Hide
Else
Tooltip
lastStatesText := {}
return
OnKeyDown(inputHook, VK, SC) {
RegisterKey(inputHook, 1, VK, SC)
}
OnKeyUp(inputHook, VK, SC) {
RegisterKey(inputHook, 0, VK, SC)
}
RegisterKey(inputHook, kstate := 1, VK := 0, SC := 0) {
local
global IdleDelay, lastStatesText, inputString
static keyStates := {}, prevKey, lastPressed, prevState, repeated := 0
, KeyMappingToName := { (Chr(27)): "Escape"
, (Chr(32)): "Space"
, (Chr(10)): "Enter" }
, SkipRepeat := { "LShift": ""
, "RShift": ""
, "LControl": ""
, "RControl": ""
, "LAlt": ""
, "RAlt": ""
, "LWin": ""
, "RWin": "" }
, StringEndKeys := { "{Enter}": ""
, "{Escape}": ""
, "{Tab}": ""
, "{Up}": ""
, "{Down}": ""
, "{PgUp}": ""
, "{PgDn}": "" }
If (VK || SC) {
singleKey := GetKeyName(Format("vk{:02x}sc{:02x}", VK, SC))
} Else If (!IsObject(inputHook)) {
singleKey := inputHook
}
textKey := StrLen(singleKey) == 1 ? singleKey : "{" singleKey "}"
keyStatesText := ""
For key, state in keyStates
If (state && key != singleKey)
keyStatesText .= key "+"
keyStates[singleKey] := kstate
If (kstate && lastPressed == textKey && keyStatesText == lastStatesText) {
If (!SkipRepeat.HasKey(singleKey))
repeated++
} Else {
If (kstate) {
If (repeated) {
inputString .= (repeated > 4 || StrLen(lastPressed) > 1) ? "×" . repeated+1 : StrRepeat(lastPressed, repeated)
, repeated := 0
}
If (keyStatesText != lastStatesText || StringEndKeys.HasKey(lastPressed))
inputString := textKey, lastStatesText := keyStatesText
Else If (StrLen(inputString) < 15)
inputString .= textKey
Else
inputString := "…" SubStr(inputString, -15) textKey
lastPressed := textKey
}
}
ShowKeys((lstate ? keyStatesText : lastStatesText) . inputString . (repeated ? ("×" . repeated+1) : (kstate ? "↓" : "↑")))
prevKey := singleKey, prevState := kstate
SetTimer TooltipOff, % -IdleDelay
}
ShowKeys(text) {
global GUIx, GUIy, GUIw, GUIh
, blkOsdCtrlName, blkOsdCtrlName2
, MonitorLeft, MonitorRight, MonitorBottom, MonitorTop
If (LargeDisplay) {
CoordMode Mouse, Screen
MouseGetPos MouseX, MouseY
InitLargeDisplay(MouseX, MouseY)
If ((!GUIy) || (MouseX >= MonitorLeft && MouseX <= MonitorRight && MouseY >= GUIy && MouseY <= (GUIy+GUIh)) ) {
If (MouseY < (MonitorTop + (MonitorBottom - MonitorTop) / 2) )
GUIy := MonitorBottom - (MonitorBottom - MonitorTop) * 0.2
Else
GUIy := MonitorTop + (MonitorBottom - MonitorTop) * 0.2
}
GuiControl Text, blkOsdCtrlName, %text%
GuiControl Text, blkOsdCtrlName2, %text%
Gui, Show, x%GUIx% y%GUIy% NoActivate
} Else {
Tooltip % text
}
}
InitLargeDisplay(MouseX, MouseY) {
global GUIx, GUIy, GUIw, GUIh
, blkOsdCtrlName, blkOsdCtrlName2
, Monitor, MonitorLeft, MonitorRight, MonitorBottom, MonitorTop
static guiInitialized := False
;Initializing GUI / reinitializing after changing monitor
;modded func originated from http://www.autohotkey.com/board/topic/8190-osd-function/
If ( ( MouseX < MonitorLeft
|| MouseX > MonitorRight
|| MouseY < MonitorTop
|| MouseY > MonitorBottom)
|| !guiInitialized) { ; mouse is outside of last screen GUI was positioned at
;80 SM_CMONITORS: Number of display monitors on the desktop (not including "non-display pseudo-monitors").
SysGet monCount, 80
Loop % monCount
{
SysGet Monitor, Monitor, %A_Index%
If (MouseX >= MonitorLeft && MouseX <= MonitorRight && MouseY >= MonitorTop && MouseY <= MonitorBottom) {
found := true
break
}
}
If (!found) ; mouse cursor not found on any screen, fallback to default monitor
SysGet Monitor, Monitor
GUIx := MonitorLeft
, GUIw := MonitorRight - MonitorLeft
, GUIh := (MonitorBottom - MonitorTop) * GUIw * 0.00003
If (GUIh > ((MonitorBottom - MonitorTop) * 0.3))
GUIh := (MonitorBottom - MonitorTop) * 0.3
opacity:="230"
, fname:="Tahoma"
, fsize:=GUIh * 0.65 ; really, pixel = 0.75 point, but with 0.75 lowercase letter with lower part (like "g") will get cut
, fcolor:="cccccc"
, bcolor:="222222"
, fformat:="600"
If (guiInitialized)
Gui Destroy
Gui +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui Margin, 0, 0 ;pixels of space to leave at the left/right and top/bottom sides of the window when auto-positioning.
Gui Color, ffffff ;changes background color
Gui Font, s%fsize% w%fformat%, %fname%
; 0x80 = SS_NOPREFIX -> Ampersand (&) is shown instead of underline one letter for Alt+letter navigation
Gui Add, Text, c%bcolor% Center +0x80 w%GUIw% h%GUIh% BackgroundTrans VblkOsdCtrlName, tesT test test
Gui Add, Text, c%fcolor% Center +0x80 w%GUIw% h%GUIh% BackgroundTrans VblkOsdCtrlName2 xp-3 yp-3 , tesT test test
WinSet ExStyle, +0x20 ; WS_EX_TRANSPARENT -> mouse klickthrough
WinSet TransColor, ffffff %opacity%
guiInitialized := True
}
}
StrRepeat(str, cnt) {
If (cnt<1)
return ""
o := str
Loop % cnt-1
o .= str
return o
}
Среди всех созданных разработчиками программного обеспечения приложений есть такие, смотря на которые не можешь с уверенностью сказать, для чего, собственно, они предназначены. То есть, вы знаете и понимаете, что делает эта программа, но затрудняетесь ответить, зачем это нужно. Carnac как раз является одной из таких программ. Эта небольшая утилита позволяет визуализировать щелчки мышью и нажатия клавиш.
С первой функцией всё более-менее понятно, это красиво, да и при записи экранного видео может пригодиться, а вот зачем показывать на экране символы нажимаемых клавиш не совсем понятно.
Ну да ладно, у каждого могут быть свои причины считать для себя эту функцию полезной, давайте лучше перейдем к самой программе. Утилита портативная, после запуска поселяется в системном трее, откуда ее, вернее, ее настройки можно вызвать двойным кликом по иконке. В контекстном меню этой самой иконки доступна всего одна опция — завершение работы. Результат работы Carnac вы увидите сразу, кликните левой кнопкой мыши и вокруг курсора появится расходящийся красный круг, кликните правой и образуется такой же круг, только синий.
Одновременно в нижнем правом углу появится изображение мыши с правой или левой подсвеченной кнопкой в зависимости от того, какая клавиша вами была нажата. Двойной клик визуализируется символами x2, прокрутка колесиком — подсвечиванием его виртуального подобия с добавлением того же символа «x».
Нажатия клавиш визуализируются соответствующими им буквами, цифрами и символами. Отображаются на экране и служебные клавиши верхнего ряда, Ctrl, Shift, Alt, Enter, Esc, стрелки и так далее.
В главных настройках приложения можно изменить область визуализации, выбрав любой из четырех углов экрана, а также задав смещение относительно верхней, нижней, правой и левой границы.
Раздел настроек «Keyboard» отвечает за изменение параметров визуализации нажатий клавиш. Здесь вы можете изменить размер и цвет шрифта, уровень его прозрачности, включить или отключить отображение служебных и «горячих» клавиш.
Раздел «Mouse» содержит параметры визуализации кликов мышью. Здесь вам будут доступны такие настройки как изменение цвета и размера окружности, уровня ее прозрачности, времени задержки, а также направления распространения волны (внутрь или вовне).
Из дополнительных возможностей можно отметить автоматическую проверку доступности обновлений, показ иконки приложения рядом с визуализируемыми символами, отключение эффектов мыши, поддержку многомниторных систем.
Имеется также опция сброса настроек к значениям по умолчанию.
Скачиваем необычную софтину со странички разработчика github.com/bfritscher/carnac/releases. Утилита находится в стадии тестирования, некоторые функции могут работать не совсем корректно, но в целом она вполне рабочая, так что вам останется только найти ей должное применение.
Загрузка…
Опубликовано 15.11.2020
Медиа
6,140 скачиваний
- Описание
- Скачать
- Комментарии
- Похожие материалы
Маленькая программа, позволяющая отображать на экране нажимаемые клавиши и/или клавиатурные сокращения.
Бывает удобно, особенно при записи скринкастов.
Скачать
Рекламные ссылки
Похожие материалы
Shockwave Player — Веб-мультимедийный проигрыватель
14.07.2021
Медиа
79 скачиваний
Shockwave — это популярный веб-мультимедийный проигрыватель, который позволяет воспроизводить огромное количество контента прямо в веб-браузере. Загрузив Adobe Shockwave Player, вы сможете просматривать широкий спектр интерактивного веб-контента, включая презентации, игры, рекламу и развлекательные материалы.
IceCream Image Resizer — Изменяем размеры любого изображения
07.03.2021
Медиа
103 скачивания
Программа очень проста в использовании, ведь вам не придется изменять размеры каждой фотографии вручную, как и перетаскивать фотографии в окно программы. Разработчики предусмотрели несколько шаблонов для изображений, но при желании пользователь может указать размеры произвольно.
Комментарии
Для этого мы будем использовать инструмент для стримеров и создателей «гайдов» и уроков, которые хотят, чтобы их клавиатура и мышь отображалась на экране во время стрима. Это плагин keyboard/mouse real-time overlay. Легко стримим клавиатуру и мышь с помощью плагина INPUT OVERLAY.
- Поддерживаемые битовые версии: 64-битный
- URL-адрес исходного кода: https://github.com/univrsal/input-overlay
- Минимальная версия OBS Studio: 19.0.0
- Поддерживаемые платформы: Windows, Linux
Скачать: https://github.com/univrsal/input-overlay
Как это работает?
Плагин использует текстуру и файл конфигурации для создания наложения. Это означает, что вы можете настроить, какие кнопки отображаются на экране, как они расположены и как они выглядят.
По умолчанию плагин поставляется с предустановками для мыши, клавиатуры и геймпада.
При создании источника «Input Overlay» в obs вы можете указать его либо на файлы предустановок, либо на те, которые вы создали сами.
Функции
- Гибкая система конфигурирования, с помощью которой можно расположить кнопки и другие элементы в любой форме.
- Графический инструмент, упрощающий создание предустановок ( видеоурок )
- Поддержка геймпадов XInput и DirectInput
- Возможность перепривязать геймпады
- Удаленное подключение для отправки входных данных с игрового ПК на потоковый ПК
- Введите белый / черный список, чтобы случайно не показать конфиденциальные данные
- WebSocket Server, чтобы разрешить источнику браузера доступ к событиям ввода
Дополнительную информацию можно найти в вики.
Почему в некоторых случаях наложение ввода не обнаруживает ввод?
Скорее всего, это вызвано тем, что приложение защищает свои входы по разным причинам. Запуск obs-studio от имени администратора обычно решает эту проблему.
Источник: https://obsproject.com/forum/resources/input-overlay.552/
Установка INPUT OVERLAY в Windows и Linux
1: установщик Windows
2. Файлы ручной установки для Windows
3: Установщик Debian и файлы для ручной установки в Linux
Установка INPUT OVERLAY в Windows
Лучше всего загрузить установщик (номер 1 на картинке), он позаботится обо всем (кроме случаев, когда вы установили студию обследования в произвольное место, вам, возможно, придется проверить правильность пути в установщике). Вы также можете установить его вручную через zip-архив (цифра 2 на картинке). Внутри находится папка под названием «plugin». Содержимое этой папки должно находиться в корневой папке вашей установки obs:
Не забудьте получить пресеты, если хотите их использовать
Пожалуйста, обрати внимание:
- Если вы используете новую установку Windows или не играете в какие-либо игры, высока вероятность, что у вас не установлены распространяемые компоненты Visual C ++ 2019 , которые необходимы . Вы можете получить их здесь.
- Плагин не работает и не будет работать с Streamlabs OBS !
- Поскольку этот плагин подключается к вводу, вам не следует открывать два экземпляра OBS, потому что это приведет к прерыванию ввода. Если вам нужны два экземпляра, запустите один как 32-битный.
Установка INPUT OVERLAY в Linux
Если вы используете Ubuntu или Debian, вы можете использовать установщик .deb внутри zip-архива (номер 3 на снимке экрана). Для других дистрибутивов вы копируете папку «input-overlay» из zip-архива (номер 3 на скриншоте) в ~/.config/obs-studio/plugins(вам может потребоваться создать этот путь).
Для дистрибутивов Linux на основе Arch:
Вы можете установить плагин через AUR, используя пакет obs-input-overlay-bin, поддерживаемый networkjanitor (в настоящее время устаревший).
Не забудьте получить пресеты, если хотите их использовать
Статья будет дополняться. Добавьте в закладки или подпишитесь на наш Ютуб канал, там также будет урок по установке INPUT OVERLAY: https://www.youtube.com/channel/UCkIu5INOm7Jhml7FZPAtxDg















