Как отобразить нажимаемые клавиши на экране windows

Spread the love Визуализация нажатий клавиш — отличный способ изучить сочетания клавиш для приложения. В остальном, если вам нужно записать скринкаст, рекомендуется отображать нажатия клавиш на экране и сэкономить много времени во время редактирования. Если вам нужен хороший настраиваемый инструмент для отображения нажатий клавиш в Windows 10, вам стоит попробовать Carnac. Показать нажатия клавиш Скачать […]

Визуализация нажатий клавиш — отличный способ изучить сочетания клавиш для приложения. В остальном, если вам нужно записать скринкаст, рекомендуется отображать нажатия клавиш на экране и сэкономить много времени во время редактирования. Если вам нужен хороший настраиваемый инструмент для отображения нажатий клавиш в 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)
Screenshot

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)
Screenshot

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».

Carnac

Нажатия клавиш визуализируются соответствующими им буквами, цифрами и символами. Отображаются на экране и служебные клавиши верхнего ряда, Ctrl, Shift, Alt, Enter, Esc, стрелки и так далее.

Carnac

В главных настройках приложения можно изменить область визуализации, выбрав любой из четырех углов экрана, а также задав смещение относительно верхней, нижней, правой и левой границы.

Carnac

Раздел настроек «Keyboard» отвечает за изменение параметров визуализации нажатий клавиш. Здесь вы можете изменить размер и цвет шрифта, уровень его прозрачности, включить или отключить отображение служебных и «горячих» клавиш.

Carnac

Раздел «Mouse» содержит параметры визуализации кликов мышью. Здесь вам будут доступны такие настройки как изменение цвета и размера окружности, уровня ее прозрачности, времени задержки, а также направления распространения волны (внутрь или вовне).

Carnac

Из дополнительных возможностей можно отметить автоматическую проверку доступности обновлений, показ иконки приложения рядом с визуализируемыми символами, отключение эффектов мыши, поддержку многомниторных систем.

Carnac

Имеется также опция сброса настроек к значениям по умолчанию.

Скачиваем необычную софтину со странички разработчика github.com/bfritscher/carnac/releases. Утилита находится в стадии тестирования, некоторые функции могут работать не совсем корректно, но в целом она вполне рабочая, так что вам останется только найти ей должное применение.

Загрузка…

Опубликовано 15.11.2020

Медиа Медиа

6,140 скачиваний

  • Описание
  • Скачать
  • Комментарии
  • Похожие материалы

Маленькая программа, позволяющая отображать на экране нажимаемые клавиши и/или клавиатурные сокращения.
Бывает удобно, особенно при записи скринкастов.

Скачать

Рекламные ссылки

Похожие материалы

Shockwave Player - Веб-мультимедийный проигрыватель

Shockwave Player — Веб-мультимедийный проигрыватель

14.07.2021

Медиа Медиа

79 скачиваний

Shockwave — это популярный веб-мультимедийный проигрыватель, который позволяет воспроизводить огромное количество контента прямо в веб-браузере. Загрузив Adobe Shockwave Player, вы сможете просматривать широкий спектр интерактивного веб-контента, включая презентации, игры, рекламу и развлекательные материалы.

InstaGet Universal - Скачивай фото и видео из Instagram

IceCream Image Resizer — Изменяем размеры любого изображения

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

img

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

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Как отобразить мой компьютер на рабочем столе windows 10 pro
  • Как отменить установку обновлений на windows 7 во время установки
  • Как отменить требование пароля в windows 10
  • Как отобразить мои документы на рабочем столе в windows 10
  • Как отменить установку обновлений на windows 10 при перезагрузке

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии