My favorites | Sign in
Project Home Wiki Issues Source
Search
for
iPhoneKeyboardHiding  
How BTstack Keyboard hides the screen keyboard, which apps support it and what you have to change if your app doesn't.
Updated Mar 18, 2010 by matthias.ringwald@gmail.com

Introduction

The latest version of BTstack Keyboard allows to hide the soft keyboard from an external Bluetooth keyboard with the CTRL-TAB shortcut. This is done with very little code:

void UIKeyboardOrderInAutomatic();
void UIKeyboardOrderOutAutomatic();
BOOL UIKeyboardAutomaticIsOnScreen();

static void toggleKeyboard(UIKeyboardImpl * keyImpl){
	if (UIKeyboardAutomaticIsOnScreen()) {
		UIKeyboardOrderOutAutomatic();
	} else {
		UIKeyboardOrderInAutomatic();
	}
}

This motivates the OS to hide/show the keyboard, and applications that follow Apple's SDK guidelines for receiving Keyboard Notifications adapt their view accordingly. The most obvious mistake is to react on the - (void)textFieldDidBeginEditing:textField delegate method instead of observing UIKeyboardDidShowNotification.

Important: You cannot just start typing when no keyboard is shown. If it is not shown, e.g. because there is an Edit button, you first have to activate the on-screen keyboard. Now, you can hide it with CTRL-TAB to use the full screen.

Good

Applications that work correctly after hiding the keyboard, i.e., you can use the full screen for your text. Note: these are unverified user reports

  • Apple Notes
  • Docs To Go
  • eBuddy+
  • IM+
  • MentalNote
  • Mobile Colloquy
  • MobileNoter (an app that syncs with Microsoft Onenote)
  • Nimbuzz
  • Notespark
  • WriteRoom

OK

  • Mobile Terminal: it shows its own keyboard. Just double tab the screen and it is gone

Bad

Applications that don't work correctly, which means that you cannot use the area below the soft keyboard after it is hidden, because of the reasons detailed above.


If you have more results, please add a comment.

If you have an app which you really want to use in full screen, please email their support with a link to this wiki page.

Comment by anlaochf...@gmail.com, Feb 11, 2010

Awesome! I knew it was only a matter of time before the virtual kybd would be hidden. Early on with my Sony PDA, the issue was similar - full screen with virtual graffiti area, but no way to hide the graffiti area. They eventually solved that too. Super app. Keep up the great work.

Comment by unkelbac...@gmail.com, Feb 12, 2010

I would rate Documents2 by SavySoda? "OK" because by manually showing the onscreen keyboard with the associated button and then using CTrl-Tab to hide it, it works as intended. When hiding the keyboard with the app-button, the HID keyboard stops working (however as said, manually showing, then hiding with Ctrl-Tab works)

However Arrow Keys do not work in Documents2 at all (has nothing to do with keyboard hiding - just dont work)

Comment by project member matthias.ringwald@gmail.com, Feb 12, 2010

if there is an app button to show/hide the keyboard it most likely also starts/stops editing. I therefore would only expect manual activate and CTRL-TAB hide to work properly. (as unkelbachmobil reported for Documents2)

Comment by anlaochf...@gmail.com, Feb 12, 2010

Works as advertised in Apple Notes, although I note that the up, back (left), and forward (right) arrows work, but the down arrow does not. To get back down after using the up arrow, you either have to touch the screen on the spot you want to go to or arrow right repeatedly to move back to the bottom of the doc.

Same thing for Write Room.

This can be a little bit troublesome, as touching the screen pops the virtual kybd up again, but only a minor issue.

It would be nice if the tab button would give you the same action as the "next" soft key when going between fields in a program (i.e username and password on a website).

Comment by jemuham...@gmail.com, Feb 13, 2010

It works with Notespark (although in Notespark the onscreen keyboard will reappear if you touch the screen). BTW, I appealed to NoteMaster? on this as well as other things but I found them not very responsive so I switched to Notespark which BTW while it is more limited it does sync more reliably to me than GoogleDocs?).

Still anticipating BTstack implementation of Numlock and a few Fn key shortcuts:) for my Think Outside keyboard.

Comment by project member matthias.ringwald@gmail.com, Feb 14, 2010

@anlaochfhile cursor down works for me in Notes and WriteRoom?. Does it work in the test box? Mapping TAB to next in web forms is on my list, would be cool.

Comment by project member matthias.ringwald@gmail.com, Feb 14, 2010

@jemuhammad: All blue shortcuts in the middle two rows of the Think Outside Stoway are actually F1-F12. If you install Activator, these keys can be use e.g. jump to Mail.app or lock the device. I did not decide yety what to do with Caps/Num-Lock.

Comment by rejt...@gmail.com, Feb 14, 2010

Excellent -- thank you very much. As a deaf guy, I often communicate on keyboard even in person. I just purchased a copy of BTStack keyboard and it works perfectly with my ThinkOutside? keyboard. (I've used it for many years on PocketPC's as well as on a BlackBerry? Curve). I'm also a developer too as well. Matthias, I have a big favour to ask of you.... I would like to request that improvements to be made: --> An option to automatically reconnect to the most-recently connected keyboard when the keyboard is turned back on. Meaning, I can take my iPod/iPhone out of my pocket, open the Bluetooth keyboard, and start typing right away. This could be a checkbox: X? Automatically reconnect to last keyboard (May consume extra battery life) This is how the keyboard driver on the Windows Mobile, as well as the discontinued BlackBerry? Curve driver (OS 4.2) made by ThinkOutside?. Meaning the keyboard always worked when opened up, although there was often a 2-3 second delay before the text showed up. Meaning I would never have to launch the BTstack keyboard app again except to turn on/off the automatic reconnect feature (unless the iPod/iPhone was rebooted).

Whenever the keyboard is turned back on, it won't be discoverable. This means BTstack would need to memorize what keyboard it paired with last time, and keep polling for it directly "in the blind". I know, this will consume more battery power, but this feature is extremely important to me. (Because I am a deaf guy and I often like to communicate by keyboard --- whipping out my iPod and keyboard, powering up the keyboard, and immediately typing, without needing to unlock the iPhone and launch BTstack first.

Also: This will also solve the problem of the keyboard stopping working if it goes out of range or if the keyboard "goes to sleep", meaning BTstack can be made to automatically reconnect when the keyboard is back in range, or when the keyboard is woken up by a keypress. (BTW - when I use on other devices, I noticed that the ThinkOutside? keyboard also has a built in keyboard buffer, and bursts out the last few keypresses once fully reconnected. But you don't have to worry about this feature as I don't mind waiting 2-3 seconds for an automatic reconnect) Can you please add this feature to your BTstack driver too? I offer to pay $50 by PayPal? immediately up front if you can work on this feature and make it available as soon as you are able to.

Comment by rejt...@gmail.com, Feb 14, 2010

P.S. BTstack keyboard is the ONLY reason I jailbroke my iPhone! :-) The first app I ever purchased from Cydia (yet).

Comment by marky...@gmail.com, Feb 14, 2010

Tests made with recent app purchases: Both "WriteRoom?" and "WritePad?" from App Store works perfectly with Ctrl+Tab.

I like WriteRoom? because it allows me to increase font size to 24, so I can set the iPhone/iPod about two feet away from me, and I can still read the text. (Apple's Notes app uses too small text, unless I'm holding the device.) I have emailed the author of WriteRoom? to allow font sizes up to 50 because 24 is sometimes too small, if the iPhone/iPod is more than 2 feet away.

Comment by marky...@gmail.com, Feb 14, 2010

(markybox == rejtech)

Comment by Hoch...@gmail.com, Feb 14, 2010

Unfortunately does not work properly with Trillian for iPhone (IM client). On-Screen Keyboard reappears as soon as I hit return (i.e. every time I send a message).

Will file a bug report on their bugzilla though as I am a beta tester for the new version :)

Comment by marky...@gmail.com, Feb 14, 2010

By the way: Lest Apple/developers for Apple apps frown on external keyboards being used with jailbroken iPhone's: Give the legitimate excuse that the iPad Tablet works with external keyboards; and their applications need to support hidden popup keyboard for it.

Comment by chrisrid...@gmail.com, Feb 17, 2010

This does work with Apple Mail on my 3GS, running 3.1.2.

Also it works with AwesomeNote? (which is the reason I bought BTStack Keyboard)

Comment by pudds...@gmail.com, Feb 25, 2010

QuickOffice? 1.1.0 is a good for use with the soft keyboard hidden. Tested with the iGo Stowaway and iPhone 2G, FW:3.1.2, begin editing mode by showing the keyboard, then Ctrl+Tab to hide it and carry on typing. Ocassionally it reappears (when you add/remove bullet points for example).

Comment by ncno...@gmail.com, Mar 1, 2010

Awesome Note works great. Ironically, as i type this in Rock App, the Bluetooth keyboard doesn't work in Rock App, at all. I can't type in Rock!

Comment by ian.frea...@gmail.com, Mar 1, 2010

You can add Beejive to the "good" list - it works perfectly!!

Comment by brettmsk...@gmail.com, Mar 3, 2010

In Meebo, control + tab hides the keyboard, but it is just filled with empty space. So you cannot view more of the conversation anyway, just the same amount. Meebo should go on the bad list.

Comment by jemuham...@gmail.com, Mar 3, 2010

OK, I experimented and found F1-10. I had never used Activator before but it works nicely.

I also stumbled on ProSwitcher? as well as purchased CategoriesSB ($0.99)which removed the delays when using plain Categories. Now when I lose keyboard connectivity (my external keyboard shuts off after being idle for...I guess 5 minutes), I can reactivate the keyboard without closing my current app and losing data. Really nice setup now.

Comment by project member matthias.ringwald@gmail.com, Mar 4, 2010

For others with the Stowaway Ultra-Slim: F1-F10 are mapped to the funny application icons. Fn+a is F1, Fn+s is F2, and so on...

Comment by alanalve...@gmail.com, Mar 21, 2010

documents to go premium ver 3.1.0

Word: keyboard pairing apple wireless works, ctrl tab hides keyboard, arrow keys up/left/right works but not down, no clrl "x,c,v", no cursor highlight via keyboard. Excel: keyboard pairing apple wireless works, ctrl tab hides keyboard, keyboard can only be used within the formula bar, highlighted cell moves only downwards as you press enter, keyboard arrows can not move or highlight cells, selections are done my touching the screen.

Overall: Keyboard use is very limited, a disappointment in relation to my expectations but am very appreciative of all your efforts and I hope you come up with other solutions.

Again thank you for the btstack and please keep it up.

excel:

Comment by project member matthias.ringwald@gmail.com, Mar 24, 2010

The iPhone User Interface does not have the concept of cursor navigation. For text fields it can be simulated somehow :), but there is no realistic chance to support e.g. navigating a spread sheet without help from the developer of the app. Please ask Dataviz to support Cursor events natively in the Simulator. It will then also work with BTstack Keyboard.

Other then that, selection with cursor + shift is possible but not implemented yet. No clue why Cursor down does not work. Please also ask Dataviz to send me a GiftCode? for Documents to Go and a developer contact address :)

Comment by rakslice@gmail.com, May 11, 2010

For console apps, there are often legacy keyboard shortcuts you can use in place of cursor key support in MobileTerminal?. For instance,

bash: Ctrl+B (left), Ctrl+F (right), Ctrl+P (up), Ctrl+N (down) vi edit mode, aptitude: h (left), j (down), k (up), l (right)

Comment by MichaelM...@gmail.com, May 18, 2010

I have been using BTStack with my iPhone 3G with an old Dell keyboard. I just received the Brando BT keyboard. It works great with Evernote. I touch the screen to bring up the on-screen keyboard and then hit Ctl-Tab, which hides it. This gives me the full screen visibility.

Comment by m.e.p...@gmail.com, May 27, 2010

This would be the absolute bomb if the ctrl modifiers and arrow keys worked in iSSH on the iPad. Mobile Terminal doesn't work on the iPad (yet, fingers crossed) leaving iSSH as the only viable alternative that supports public keys.

Comment by project member matthias.ringwald@gmail.com, May 28, 2010

I made a basic build of the SDK version of MobileTerminal? some weeks ago. It cannot do much, but it basically works: http://ringwald.ch/TerminalSDK-Test.zip Just download and extract into /Applications. Run uicache as user mobile and/or respring. NO SUPPORT FOR THAT :)

Comment by curtisth...@yahoo.com, Jul 19, 2010

Is there a way to map there control or alt keys to the command key since it seems like most keyboard arent going to have that key and as such cannot use most of the activator events?

Comment by Ketch...@gmail.com, Jul 31, 2010

BTStack Keyboard is a great addition to the iPhone world!

Works intermittently with a Freedom Universal Keyboard. I've had it work in Notes, Terminal, and Mail at least. But sometimes it seems to disconnect when I press the home button. Sometimes after typing the four digit pairing key it doesn't pair but just sits there spinning its wheels (saying "Connecting." If there's a way to stop it when it's in an endless "Connecting" loop I've yet to find our how. If there's not, then that would be a good addition.

Well worth the five bucks already!

Comment by project member matthias.ringwald@gmail.com, Aug 1, 2010

hi KetchJig?. Hm.. it should not sit there endlessly. In any case, if you leave the app, the whole Bluetooth stack should shut down after 20 secs.

Comment by project member matthias.ringwald@gmail.com, Aug 15, 2010

@curtisthecool sorry, CTRL & ALT are already used - CTRL is useful in MobileTerminal?/SSH), ALT to enter some special characters. All my BT keyboards have an CMD key one way or the other. What keyboard do you use?

Comment by pkhu...@gmail.com, Aug 16, 2010

Has anyone confirmed that this enables modifier and arrow keys with iSSH?

Comment by renato.d...@gmail.com, Sep 17, 2010

Ho acqustato l'app e non funziona nemmeno con la tastiera apple nuova (alluminio sottile senza tastierino numeric). Cosa posse fare?

Comment by Carrie.S...@gmail.com, Sep 26, 2010

enter key doesnt work on whatsapp. it doesnt hit send so everytime i gotta press the screen manually, anyone knows of a way to fix it?

Comment by mxf06...@gmail.com, Oct 28, 2010

I can not use the keyboard with iPad.Please show me the rigtht way.

Comment by yop...@gmail.com, Nov 5, 2010

it works on document by savysoda. I've tested it.

Comment by ahmieye...@gmail.com, Jan 14, 2011

Got QuickOffice? working with ThinkOutside?/iGo keyboard, QuickOffice? Connect Mobile Suite (not spotting version number but it's the latest updated version as of today), jailbroken iOS 4.1, on a iPod Touch 2G MC version. To get the keyboard to work you MUST display the on-screen keyboard, then ctrl-tab on the physical keyboard to make it disappear. Thought I'd comment since it says above that it doesn't work and I almost went and bought Docs 2 Go before testing it out more.

Comment by ben....@gmail.com, Jan 24, 2011

I tried this with splashtop remote but it didn't work. Keyboard works fine with typing configuration but once you start the remote access keyboard doesn't work with or without the on screen keyboard

Comment by project member matthias.ringwald@gmail.com, Jan 29, 2011

@ben: but you can use BTstack Keyboard with other apps, just not Splashtop remote. What OS is that?

Comment by ben....@gmail.com, Jan 30, 2011

3.2.2 on the iPad and yes the other apps work fine.

Comment by project member matthias.ringwald@gmail.com, Feb 2, 2011

@ben do you get the on-screen keyboard and can type? After that typing on the Bluetooth keyboard should work, too.

Comment by ben....@gmail.com, Feb 4, 2011

I recently tried this on an iPhone os 4.1. BTstack keyboard works with splashtop on this setup. Maybe its the os. Thanks for the troubleshooting.

Comment by brac...@gmail.com, Mar 7, 2011

Esc and ctrl+c don't seem to work in terminal or pterm. I have an iPhone 4 with IOS 4.2.1, BTstack Keyboard 1.0-25570 and MobileTerminal?? 520-1. I'm using the Apple BT keyboard.

Is this a known problem?

Comment by tudor.te...@gmail.com, Apr 17, 2011

I have zaggmate keyboard and can not use a lot of keys except letters. shift is not workind f1 to f12 are nor working .... i would appreciate any help.

Comment by Starman0...@gmail.com, Jul 25, 2011

I have a Zaggmate Keyboard by Logitech for the iPad2. When the Bstack is enabled I lose the ability to connect with network. And I can enable the mouse but there is no comparable keyboard for the zaggmate. This application doesn't work as advertised. starman0020@gmail.com

Comment by Starman0...@gmail.com, Jul 25, 2011

I have a Zaggmate Keyboard by Logitech for the iPad2. When the Bstack is enabled I lose the ability to connect with network. And I can enable the mouse but there is no comparable keyboard for the zaggmate. This application doesn't work as advertised. starman0020@gmail.com

Powered by Google Project Hosting