# Disable external keyboard input in Ignition

**URL:** <https://forum.inductiveautomation.com/t/disable-external-keyboard-input-in-ignition/102505>\
**Category:** Ignition\
**Tags:** scripting, ignition81, vision\
**Created:** [February 18, 2025, 4:44pm UTC](https://forum.inductiveautomation.com/t/disable-external-keyboard-input-in-ignition/102505 "2025-02-18T16:44:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Spencer\_Lommel1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/spencer_lommel1/32/78679_2.png) [@Spencer\_Lommel1](https://forum.inductiveautomation.com/u/Spencer_Lommel1)\
**Post date:** [February 18, 2025, 4:44pm UTC](https://forum.inductiveautomation.com/t/disable-external-keyboard-input-in-ignition/102505/1 "2025-02-18T16:44:01Z")

</div>

We have some Barcode scanners that act as external keyboard input. We want these to only be enabled on certain screens to prevent accidentally scanning a barcode and entering an incorrect value on the wrong screen.

Is there a way to disable all external keyboard input that isn't on a specific screen?

I looked over the documentation and it only mentioned disabling the on-screen keyboard.

**Another important note is we would still like on-screen keyboard input to work. We just want to disable external keyboard input on these screens.**

> **[Using Touch Screen Mode | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/vision/vision-project-properties/using-touch-screen-mode)**
>
> It is very common to deploy Ignition Vision projects on touchscreen computers, such as industrial panel-PCs acting as Human Machine Interface (HMI) or Operator Interface Terminal (OIT). In situations where the PC does not have a keyboard attached,...

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 18, 2025, 5:05pm UTC](https://forum.inductiveautomation.com/t/disable-external-keyboard-input-in-ignition/102505/3 "2025-02-18T17:05:08Z")

</div>

Nothing built in to the system.

With Vision, you can run arbitrary code on the end user's machine, so if you can find a way to convince _the OS_ (however many of them you have across your Vision user base) to not allow keyboard input, then you should be able to invoke that code from Vision using scripting.

Assuming Windows, something something `devcon.exe`, possibly?

> <https://superuser.com/questions/1630618/toggle-windows-10-keyboard-enabled-disabled-state-conditionally-or-programmatica>

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 18, 2025, 5:18pm UTC](https://forum.inductiveautomation.com/t/disable-external-keyboard-input-in-ignition/102505/4 "2025-02-18T17:18:51Z")

</div>

Since you are using Vision, the most robust approach is to not use keyboard mode on the scanners. Instead, configure them to emulate a serial port, then run a long-lived listening thread that can post the scans to a Vision Client Tag. You can bind such a tag into selected windows where barcode scanning is expected, and only process the property change events in those windows.
