---
tags:
    - "Button"
    - "Down"
---

# On Keyboard Press

[Input](../index.md) / [Keyboard](index.md) / **On Keyboard Press**

## Description

Executes when the Keyboard key is pressed down

## Code

```cs
using System;
using UnityEngine;
using UnityEngine.InputSystem;
using VisualScript.Icons;

namespace VisualScript.Runtime
{
    [Title("On Keyboard Press")]
    [Image(typeof(IconKey), ColorTheme.Type.Blue, typeof(BadgeArrowDown))]
    
    [Description("Executes when the Keyboard key is pressed down")]
    [Category("Input/Keyboard/On Press")]

    [Keywords("Button", "Down")]
    
    [Serializable]
    public class TriggerCoreInputKeyboardPress : TriggerHandleSubscriptionBase<HandleOnInputKeyboard>
    {
        // EXPOSED MEMBERS: -----------------------------------------------------------------------

        [SerializeField] private Key m_Key = Key.Space; 
        
        // PROPERTIES: ----------------------------------------------------------------------------

        protected override string GetTitle(GameObject source)
        {
            string key = TextUtils.Humanize(this.m_Key);
            return $"Press {TextUtils.ThemeAsKeyword(key)}";
        }

        // OVERRIDE METHODS: ----------------------------------------------------------------------
        
        protected override void OnTrigger(GameObject target)
        {
            if (!Keyboard.current[this.m_Key].wasPressedThisFrame) return;
            
            using Args args = Args.Get(this.Component, target);
            this.Run(args);
        }
    }
}
```

