iOS show/hide onscreen keyboard with external keyboard - ios

I have a company app (not on AppStore) that I'm attempting to use with a wired barcode scanner, but also need the onscreen keyboard for manual entry. The scanner itself does not have any "show/hide keyboard" button. I am connecting the scanner with an Apple Lighting to USB3 Adapter, which works great - it connects as an external keyboard.
There are flows in the app that require a user to enter text when a barcode is not available to scan, e.g. login flow. How can I programmatically show the onscreen keyboard for these flows on an iPhone or iPod?
I have used bluetooth scanners that have a button to show/hide the onscreen keyboard. Is it possible to simulate this functionality in code?
The last resort may be to create my own onscreen "keyboard" that I can show and hide at will.

Related

When the iOS device is connected to the Bluetooth scanner, the Apple Magic Keyboard cannot input normally

The Bluetooth scanner is used in my iPad App. When using the app, the user used the scanner and also Apple Magic Keyboard in my App.
The scanner is equivalent to an external keyboard, and the Apple Magic Keyboard is also an external keyboard.
Besides, I use textView to receive the input content.
- (void)textViewDidChange:(UITextView *)textView
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
[self performSelector:#selector(receivedBarcode:) withObject:textView.text afterDelay:0.25];
}
My questions:
It is not possible to use the Apple Magic Keyboard normally for input because, whenever the keyboard is clicked, the delegate method of the textView will be executed.
How should I know if the input came from the Scanner or if the user entered it using the Apple Magic Keyboard?
Can I use a scanner and an Apple Magic Keyboard on my iPad at the same time? Is there any way to avoid the conflict between the two input models?

Default keyboard is not coming when Barcode Scanner Device is Connected by Bluetooth in IOS

I am facing issue with keyboard when barcode scanner device is connected using bluetooth.
Flow:
1) I have turned on Bluetooth, and connected barcode scanner device using bluetooth by entering displayed code in it to connect.
2) I am able to use scanner, but the default keyboard is not displaying even we call becomeFirstResponder.
3) When I disconnect the scanner device or turn off bluetooth connectivity then the keyboard is coming.
Note: Below is the link for the Barcode Scanner device i am using
Barcode Scanner Device Information
Anyone faced this kind of issue?
Please suggest how to fix this issue.
Thanks in Advance..!
This solution only works on Ipad. when the soft keyboard disappears just press and hold the down arrow on the bottom right of the screen and the soft keyboard will be back.
We are clear and there is no question that Bluetooth Scanner is pretending to be a Bluetooth keyboard, so iOS thinks that it does not need to show the on screen one.
For Barcode Scanner type socket mobile are now adding a feature to open the iPad onscreen keyboard. For example, the Socket CHS has a new button press option. You can check if your device have the same functionality*(It is likely to be of some help)*
Bring Up the Virtual Keyboard With a Real Keyboard can be a good idea.
When you have a Bluetooth keyboard connected to your iPad, the virtual keyboard will cease to appear. (This is a good thing.) However, what if, for some random reason, you needed that virtual keyboard? Don't unpair your Bluetooth. Just... Hit the eject key on Apple's physical keyboard. It'll bring up the virtual one.
There is another way to try to solve this, personally I tried it and it was very unstable. Taking into account that it is a kind of hack, expected unstable behavior.
This answer to a related question (https://stackoverflow.com/a/3837131/493988) has what seems like a hack based on a UITextField's inputAccessoryView.
Even the user #Kurt Arnlund in this answer mentions a external app called KeysPlease link here. I really have not tried it, you can try.
In summary, there seems to be a clean way to solve this, I think these may be the best attempts to reach a solution
Sources:
Bluetooth Scanner sets system-wide keyboard, UITextFields wont show soft keyboard on responder
Force on screen keyboard to show when bluetooth keyboard connected
Show iPhone soft keyboard even though a hardware keyboard is connected

In iOS can I check wether input is coming from a bluetooth keyboard or the built in keyboard?

I am writing a checkin app that will use a bluetooth RFID scanner to checkin users as they scan. All the scanners that I've found seem to work as bluetooth keyboards. The issue is that there will be other activity going on in the app including typing using the built in keyboard. I want this activity to be uninterrupted by the RFID scanner. So my idea is to check as every character comes in wether it is coming from the built in keyboard or the bluetooth one and if it is from the bluetooth scanner move that to a hidden textfield to be dealt with on a separate thread while the user can continue typing. Is there any way that I can do this?

Can I create a button that starts Voice Dictation mode in iOS?

I understand this is a bad idea (to show a voice dictation button in the app when it's already on the keyboard when it's available). But I have a client who would really like to have a microphone icon in a text field that would enter voice dictation mode when pressed.
Note, I am talking about the standard OS voice dictation mode (that the keyboard controls).
So the basic question is:
Can I tell the keyboard to enter voice dictation mode?
(my guess is that it's not allowed, but I would love something more "official" than my gut)
This wouldn't be possible unless you were to jailbreak your device. There would be little reason for Apple to offer a public API to do this, because any time you would be able to invoke it is when the keyboard is showing anyway, which would contain the button to activate it.

Show virtual Keyboard when bluetooth keyboard connected?

I am building system for my company that use of a bluetooth RFID reader.
The problem is we cannot show the keyboard when the reader is connecting unless we turn it off.
But I saw this video
http://www.youtube.com/watch?v=0uRlIw5H0wE&feature=related
And I know we can modify the reader to temperately show the keyboard.
(Just like the button on Apple iOS keyboard)
We can ask the provider to taylor-made the reader. So we want to add a physical button on it.
Do anyone know the keycode of that button?
Can it be done just to add a button to send a keycode event???
The button that needs to be pressed is the eject button that's on a mac keyboard. I don't know what the key code is or even if you can send it. But I do know it is the eject button.
The iOS keyboard gets hidden when a bluetooth or some other physical keyboard gets connected.
I think that the button is causing the Bluetooth HID-keyboard profile to disconnect at the scanner (which in-turn enables the iOS keyboard)
I have added details on how to show both bluetooth keyboard(using HID profile) and device virtual keyboard here I want to force keyboard on with bluetooth device please check if it helps.

Resources