web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / On-screen keyboard app...
Power Apps
Suggested Answer

On-screen keyboard appears after scan in Canvas App with barcode scanner

(1) ShareShare
ReportReport
Posted on by 2

Hello Everyone,

I have built a Canvas App that uses a barcode scanner in combination with a text input field. The app is mainly intended as a scanning app, but it should also allow manual text input when needed.

The issue we are experiencing is that after a scan, the on-screen keyboard often (but not always) appears automatically. This is undesired behavior, because the primary use case is scanning and users then have to manually close the keyboard each time.

We have already tried several approaches, including:

 

  • Moving the focus to another control using SetFocus()

  • Resetting the input field after each scan

  • Using a PCF component with a KeyListener

  • Working with a hidden input field

Unfortunately, none of these solutions solved the problem consistently.

 

My question is:

Is there a known way in Power Apps to prevent the on-screen keyboard from appearing after a scan, or to programmatically suppress the keyboard in this scenario?

Or is this a known limitation of the barcode scanner / input focus behavior in Canvas Apps?

Any suggestions or best practices would be greatly appreciated.


Thank you in advance!

Categories:
I have the same question (0)
  • Suggested answer
    Gil0 Profile Picture
    133 on at
     
    Here is a workaround that could help you out.
    First, create a button and display it under the Input control and name it something like "Manual Entry" to give users the option to enter data manually. In the Button's OnSelect property, set a variable that keeps track if the button is clicked:
    Set(varManualEntryMode, true);
    Then, change the input control's Visible property to
    varManualEntryMode
    and its DisplayMode property to:
    If(varManualEntryMode, DisplayMode.Edit, DisplayMode.View)
    Next, instead of displaying the BarCode scanner's data in the input control, store the data in a variable and display it in a text label:
    In the OnScan property, set the variable:
    Set(varDataValue, YourBarcodeScannerControlName.Value);
    Create a Text Label control above your Input control and set its Text property to
    varScanValue
    and add to the Visible property:
    !varManualEntryMode
    You can also use the varDataValue variable to store the manually entered code.
     
    If my response helped figure out the issue, please mark as resolved so it helps direct others.
  • Shah Baig Profile Picture
    23 on at
    Thank you so much for your response. @Gil0

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 531 Most Valuable Professional

#2
Haque Profile Picture

Haque 261

#3
Kalathiya Profile Picture

Kalathiya 221 Super User 2026 Season 1

Last 30 days Overall leaderboard