Menu

FrequentlyAskedQuestions

Anonymous
  • Security and privacy
    • Why is there a security warning when I activate it?
    • Why does it ask for "record audio" and "read contacts" permission?
    • Why does it ask for "call log" permission?
    • Where's the source code?
  • General questions
    • I'm still seeing the system keyboard. How do I activate it?
    • Can I use it with my Nook Color / Kindle Fire?
    • How do I hide the keyboard?
    • How do I activate Dvorak / Arabic / ... layouts?
    • Where can I get a completion dictionary for my language?
    • Where is the "|" (pipe) or "@" key?
    • What does the Circle (or check mark) key do?
  • Bugs and known issues
    • Unwanted spaces before punctuation
    • "Touch to correct words" inserts the correction instead of replacing
    • It doesn't work right after upgrading
    • The keys are too small.
    • Some keys don't work, for example Ctrl-C/Ctrl-V for cut&paste.
    • It crashes. Please fix.
  • Feature requests
    • Can I use a different keyboard app (input method) in portrait mode?
    • Can you add support for qwertz/azerty/Greek/Arabic/... layouts?
    • Can you add a Dvorak layout?
  • Specific application notes
    • ConnectBot doesn't work in landscape mode
    • Android VNC Viewer doesn't recognize the extra keys

Security and privacy

Why is there a security warning when I activate it?

This warning is a general Android system security feature that alerts users when activating a third-party input method. It's shown for all keyboards installed by the user as a precaution, and does not mean that this specific keyboard is known to be stealing data, just that it could potentially do so.

A keyboard knows which keys you are currently typing (that's part of its job description), and a malicious application could abuse that, especially if it were to ask for Internet access permission.

The source code for this project is available at the Source link above, you are welcome to review it and/or build your own binary.

In case you're curious about the technical details related to showing this security warning, see the Android OS source code, specifically ime_security_warning in the official Android source LanguageSettings.java and message catalog.

Why does it ask for "record audio" and "read contacts" permission?

The permissions requested by the application are those needed by the underlying Gingerbread keyboard, see the AndroidManifest.xml file from the original AOSP source code.

It uses the contacts information for completion of names and email addresses, and audio recording for the voice input feature.

I'm considering making a minimal-permissions version with this code disabled if there's sufficient demand, see http://code.google.com/p/hackerskeyboard/issues/detail?id=2 for more details.

Why does it ask for "call log" permission?

This is a temporary side effect of a recent change in Android permissions that appears on 4.1 (Jellybean) devices. I'll need to build and publish a new version to fix this, if you want this earlier you can download one of the release candidates from https://code.google.com/p/hackerskeyboard/downloads/list which includes a fix for this.

The application is not actively asking for the READ_CALL_LOG permission. The equivalent rights were granted automatically on older Android versions when asking for READ_CONTACTS, and recent versions split this up into two separate permissions. To avoid breaking backwards compatibility, apps requesting READ_CONTACTS are automatically treated as also asking for READ_CALL_LOG unless they explicitly declare that they are aware of this distinction by setting the API level. I'll need to rebuild it with a current SDK to remove this permission, thanks for pointing that out.

More info here: http://developer.android.com/reference/android/Manifest.permission.html#READ_CALL_LOG, note that the permission was added for API level 16 (Android 4.1 Jelly Bean), and the current build isn't yet targeting that level.

Where's the source code?

See "Source" link above: http://code.google.com/p/hackerskeyboard/source/browse/

See BuildingFromSource for instructions how to build it yourself.

General questions

I'm still seeing the system keyboard. How do I activate it?

The recommended method is to launch the "Hacker's Keyboard" application and use the two buttons shown by the application to enable it. The help text shown below the buttons explains this in more detail.

Alternatively, use these manual steps:

  • Go to Home / Menu / Settings / Language & Keyboard
  • Scroll down to "Hacker's Keyboard", activate the check mark, and acknowledge the system warning shown for third-party input methods. (See this FAQ entry for more information about the warning.)
  • Exit settings and open a text entry box, for example the Search bar.
  • Long-press the input field, and select the Input method menu entry.
  • Select "Hacker's Keyboard" from the list.

See also the following entry that explains how to activate specific layouts.

Can I use it with my Nook Color / Kindle Fire?

These devices use a heavily modified operating system that isn't fully compatible with standard Android versions. I consider these as unsupported, but users have been successful in activating third-party keyboards.

The application NookColor Tools allegedly works for both the Nook Color and Kindle Fire. See this xda developers thread for Kindle Fire specific information. I have not tried this myself, please be careful with steps involving rooting or OS modification.

How do I hide the keyboard?

On standard Android devices, pressing the "Back" button while the keyboard is visible will close it instead of doing the usual "Back" action.

If this is not working for you, or if you have a nonstandard device that doesn't have a Back key, try a vertical "swipe down" gesture (across multiple keyboard rows) to close it.

You can configure the gesture used for this in the keyboard's "Gesture and key actions" settings menu. If the swipe action is too hard to trigger, try binding the "close keyboard" action to the "Volume down" hardware key. This won't interfere with normal use of the volume button while the keyboard is closed.

For the future, I do plan to add support for a dedicated "close keyboard" key, but this needs to be part of the general user-customizable layout support (issue 13) - there just isn't enough roum in the current layouts to add this by default for everyone.

How do I activate Dvorak / Arabic / ... layouts?

  • go to Hacker's Keyboard's settings menu (the "gear" symbol at the bottom left)
  • go to "Input languages" setting
  • add a checkmark to the languages you want to use. Dvorak is "English (en_DV)".
  • swipe the space bar horizontally to switch languages

Where can I get a completion dictionary for my language?

Several languages are available as add-on dictionary packages on the Play Store: https://play.google.com/store/apps/developer?id=Klaus+Weidner

Additional dictionary packages are on the project download page: https://code.google.com/p/hackerskeyboard/downloads/list?q=label%3ADictionary

Hacker's Keyboard is also able to use dictionaries from AnySoftKeyboard language packs, including Arabic and Greek: https://play.google.com/store/search?q=anysoftkeyboard+language&c=apps

The dictionary should be available for use immediately after installing the package. The "Input language selection" setting menu shows "Dictionary available" for each languages where it found a usable dictionary.

Where is the "|" (pipe) or "@" key?

Many non-English layouts have more than two characters assigned to each key, typically accessed by using the AltGr key. On this keyboard, the additional characters are accessible by long-pressing keys in the usual locations. For example, on a German keyboard, long-press "<" to show a pop-up mini keyboard which includes "|". On a French AZERTY keyboard, long-press "à" or "é" to get "@".

I'm planning to add support for an AltGr key in a future version.

What does the Circle (or check mark) key do?

The Circle key (shown as a check mark in older versions) to the left of the arrow keys corresponds to pushing a trackball to make a menu selection, or pressing the middle of a directional keypad. The corresponding Android keycode is DPAD_CENTER. This is usually equivalent to pressing RETURN, but some applications treat it differently. For example, when navigating a dropdown suggestion list such as the browser's address bar, you can use it to copy the current selection for further editing instead of immediately selecting it.

As a secondary function, you can long-press the Circle key to activate a "compose" function, for example Compose (long-press Circle) followed by the "o" and "c" keys generates the "©" Copyright symbol. See ComposeSequence.java for the list of supported combinations.

Bugs and known issues

Unwanted spaces before punctuation

Version 1.29 changed the way that the automatic punctuation swap works. Earlier versions were quite aggressive about automatically removing spaces before punctuation, but this could lead to problems when you actually want a space character.

The new version tries to make this more consistent. Short version: if you want the old behavior, turn on the "Auto-Complete" setting, or tap the suggested word instead of pressing the space bar.

  • If the "Auto-complete" setting is off, the space bar inserts a "hard space", and this doesn't get removed when adding punctuation from the suggestions list. If you want to accept a suggestion, tap the suggested word in the suggestion bar. Then it'll insert it with a "soft space", and you'll get the punctuation behavior you expect.
  • If "Auto-complete" is on, the spacebar accepts the currently highlighted suggestion and adds it with a "soft space", and punctuation typed after that will appear next to the word without a space.

The reason for the change was that the old behavior made it very difficult to type punctuation consistently, especially after adding ":" and ";" to the list of characters that should be space-swapped. The keyboard needs to be able to distinguish "Test: " from "Test :-)", and this was difficult in the old system.

If this isn't working for you as described here, please let me know.

"Touch to correct words" inserts the correction instead of replacing

See issue 17, this feature depends on operating system support that's only available starting with Gingerbread (v2.3). In the meantime I recommend disabling the option in the keyboard settings if it's not working correctly.

It doesn't work right after upgrading

There's a known problem if the current input method gets replaced while it's active, the system can get confused. The symptom is that the keyboard appears unresponsive, or only shows the typed output after switching screen orientation. Switching applications should fix it, or alternatively try briefly switching to a different input method and back.

The log files show "IME died" and "android.os.DeadObjectException" when this happens. This is outside my code, as far as I know the system should restart the IME but this sometimes doesn't appear to happen.

The keys are too small.

This keyboard layout was originally designed for tablets, so it's unavoidable that the keys will be rather small on phones. By default it'll revert to the standard 4-row (10 keys across) Gingerbread layout on phones when in portrait mode. You can change that in settings but I don't recommend it.

Note that the key height is adjustable, you can configure the overall keyboard height as a percentage of screen size in settings, with two separate settings for portrait and landscape mode.

There's also a separate config setting for the key label sizes, this is useful if the key symbols are too small or too big due to your device's pixel density settings.

Some keys don't work, for example Ctrl-C/Ctrl-V for cut&paste.

Recent Android versions (starting from Honeycomb / 3.0) do include support for the Ctrl-X/C/V/A shortcuts in EditText widgets and other common dialogs, and this generally works with Hacker's Keyboard.

Support for the extra keys varies by application. The keyboard just sends key events, and the application receiving the key events is responsible for acting on them, and typically applications ignore unknown or unexpected key events, or (in unfortunate cases) misinterpret the keystrokes to launch menu shortcuts or similar.

If possible, try attaching a USB or Bluetooth keyboard to your Android device to see if the corresponding keys work with a real hardware keyboard. If that also doesn't work, it'll most likely require a change to the application before a soft keyboard such as this one can support them. If it works with a real keyboard but not with the Hacker's Keyboard application, please file a bug.

Developers: see KeyboardSupportInApplications for more information.

It crashes. Please fix.

You can send a crash report through the Android crash reporting tool, this will give me some basic anonymized data about the crash location and an indication how often a problem occurs, but isn't always sufficient to figure out what's going on. If possible, please include details how to reproduce it, and information about your phone and Android version, those aren't included in the automatic report. If you want me to respond, please make sure to include your email address in the text.

It's easiest for me to handle if you file a bug, that helps avoid losing track of things and lets me easily send progress updates. You can also just send me email if you don't want to use the issue tracker.

For crashes and similar issues, I'll most likely need system log information to figure out what's going on if I can't reproduce the bug. See HowToAccessSystemLogData for more information how to get this data from your phone.

Feature requests

Can I use a different keyboard app (input method) in portrait mode?

Unfortunately, this isn't generally possible. Hacker's Keyboard could give up control and activate a different input method in portrait mode, but this would be irreversible. The user would need to re-activate Hacker's Keyboard manually to use it again, or the other keyboard would need to cooperate by implementing its own logic to switch keyboards back.

The reason for this is that the Android operating system enforces security restrictions for input methods that are intended to prevent malicious applications from intercepting user input. See the "Security" section in the InputMethodManager documentation for details.

Keyboard switching would be possible with modifications at the operating system level, for example on a phone running custom firmware, but that's beyond the scope of this application.

Some users have reported success using the application "Keyboard Manager" which requires a rooted phone. I haven't tried this myself.

Can you add support for qwertz/azerty/Greek/Arabic/... layouts?

This is still a work in progress, though the current version now supports most of these. I'll need help from users to support languages where I wouldn't be able to tell if it's working correctly. Let me know if you think you can help contribute, here's the Spanish keymap as an example. The AddingNewLayouts wiki page has more details.

Note that the Gingerbread keyboard doesn't properly support dead keys that modify the next typed character (typing ´ and a to get á). Instead, the usual approach is to add the alternative characters to long-press menus. This may not work well for languages that have too many variations.

Can you add a Dvorak layout?

This is now available in the v1.20 Market release. Select "English (DV) [en_DV]" in the Input Languages menu.

Specific application notes

ConnectBot doesn't work in landscape mode

The ConnectBot application disables landscape mode by default on phones. Go to its main menu settings and set "Rotation mode" to "Automatic" to enable it.

Android VNC Viewer doesn't recognize the extra keys

I've proposed a patch for that project to add support, at this time it has not been applied yet so you'd need to build your own modified VNC viewer binary: http://code.google.com/p/android-vnc-viewer/issues/detail?id=238


Related

Tickets: #13
Tickets: #17
Wiki: AddingNewLayouts
Wiki: BuildingFromSource
Wiki: HowToAccessSystemLogData
Wiki: KeyboardSupportInApplications
Wiki: UsersGuide

Discussion

1 2 > >> (Page 1 of 2)
  • Anonymous

    Anonymous - 2011-06-14

    Originally posted by: pspacm...@aol.com

    I g0t this keyboard hoping it would fix my problem with the as400. I need the function keys f7 etc. This keyboard shows those keys but they do not work. So i still can't get on the as400 for my job.

     
  • Anonymous

    Anonymous - 2011-06-25

    Originally posted by: Andreas....@gmail.com

    I'd like to support this project. However, I am not a programmer. Are there other means of support appreciated, like a financial donation?

     
  • Anonymous

    Anonymous - 2011-09-08

    Originally posted by: ofekshri...@gmail.com

    What. Root should I use. On a Made In. Chaina !0". Tablet. With 1GH prosesor and android 2.2 withoout loosing my HEBREW lang that works pefectly on it?

     
  • Anonymous

    Anonymous - 2011-09-12

    Originally posted by: gwj...@gmail.com

    Would it be possible to make the keyboard semi-transparent?

     
  • Anonymous

    Anonymous - 2011-09-14

    Originally posted by: megamart...@gmail.com

    It would be nice if you program the function keys with strings

     
  • Anonymous

    Anonymous - 2011-09-16

    Originally posted by: wdew...@gmail.com

    pspacm...@aol.com

    The terminal application may not support f7. The article talks about some applications not being able to handle extended keystrokes. You may want to look for a different terminal emulator or contact the author/vendor of the application you are using. You could also try a physical keyboard as suggested in the article.

    Bill

     
  • Anonymous

    Anonymous - 2011-10-02

    Originally posted by: orensn...@gmail.com

    Can you add current layout changing by alt+Shift or Alt+Space key (for full USB hardware keyboard support)?

     
  • Anonymous

    Anonymous - 2011-11-07

    Originally posted by: nbro...@slugmail.ucsc.edu

    On your download page, there are two pictures of the keynoard being used with a ssh client. Which client is that?

     
  • Anonymous

    Anonymous - 2011-11-07

    Originally posted by: Klaus.We...@gmail.com

    the screenshots were using ConnectBot?

     
  • Anonymous

    Anonymous - 2011-12-11

    Originally posted by: unknown...@gmail.com

    Can you add a Colemak layout?

     

    Last edit: Anonymous 2024-08-11
  • Anonymous

    Anonymous - 2011-12-29

    Originally posted by: marcel.g...@gmail.com

    "Would it be possible to make the keyboard semi-transparent?" x 2 PLEASE.

     
  • Anonymous

    Anonymous - 2012-01-16

    Originally posted by: eric...@gmail.com

    I want to use Dvorak on an external keyboard.... I see that Hacker's Keyboard supports Dvorak.... But would that also work from an external keyboard or only the Touchscreen keyboard? thanks!

     
  • Anonymous

    Anonymous - 2012-01-22

    Originally posted by: behringe...@gmail.com

    Thankyou for such a useful app, it's the first thing I install because my phone would be useless without it (ssh & shell work). I can't seem to find the Euro symbol though, neither in EnglishUK nor German. Thanks & keep up the good work.

     
  • Anonymous

    Anonymous - 2012-01-24

    Originally posted by: juliodgr...@gmail.com

    hi, excelent app. my default in sgs2. can you make it work with android 2.1? My Nook Touch is great with connectbot but lame keyboard. Thanks!

     
  • Anonymous

    Anonymous - 2012-02-22

    Originally posted by: ktrof...@gmail.com

    Perfect and comfortable keyboard. One issue only: for some reason, when I switch layout (both from English to Russian and back) by slidind space key, the very first letter I type appears underlined. Typing next letter erases first one. Thus, in order to type "key" word right after russian text I have to do the following: change layout, type "k" (actually I can type any key - it appears underlined and will be erased) then type "k" again (now not underlined) and "ey" to finish the word. Is it possible to fix this issue?

     
  • Anonymous

    Anonymous - 2012-02-24

    Originally posted by: ktrof...@gmail.com

    UPD: just read about  issue 182 . Updated to version 1.30rc5 - now everything is fine!

     
  • Anonymous

    Anonymous - 2012-03-23

    Originally posted by: jfeinsm...@gmail.com

    I noticed mention of sliding text entry in the release comments, but cannot figure out how to enable it on the current release on Play Store. Is that feature in there, and how can I enable?

     
  • Anonymous

    Anonymous - 2012-03-31

    Originally posted by: mlucas2...@gmail.com

    This is by far the best keyboard I have used on android devices. My only question is it themeable? I'd kinda like an olive green / paramilitary look. Not that grren matrix crap a lot of keyboards use. Other than that it handles everything I do such as doc editing, ssh sessions, forum posting and it does a great job.

     
  • Anonymous

    Anonymous - 2012-04-08

    Originally posted by: ralfmusc...@googlemail.com

    Is there a way to enter Unicode characters with a known hex number (as e.g. in Linux, where one presses Ctrl-Shift-u, then the hex digits, then space)? Assuming, of course, that the device can display them.

     
  • Anonymous

    Anonymous - 2012-05-07

    Originally posted by: jan...@gmail.com

    I like the keyboard but the forward slash ( / ) is difficult. It's not available as a shift or long-press from any of the keys on the main keyboard and it's not an option on the Fn keyboard. The only way I can see the enter it is for the keyboard to think I need punctuation and tap the / there; problem with that is that it's kludgy. The back slash ( \ ) can be used from the main keyboard - why not the forward slash? Or am I missing something?

     
  • Anonymous

    Anonymous - 2012-05-22

    Originally posted by: 00SV...@gmail.com

    Could you plese make Ctrl key automatically switch language to english when pressed? It's needed to use Ctrl+key combinations with all languages(they work only with english)

     
  • Anonymous

    Anonymous - 2012-06-13

    Originally posted by: HybridPo...@gmail.com

    Nice keyboard, I use Dvorak layout, but layout does not work on a physical keyboard. For some reason I can not get Dvorak to work with anybodies keyboard software and physical keyboard....

     
  • Anonymous

    Anonymous - 2012-07-05

    Originally posted by: techgee...@gmail.com

    HybridPo?, try External Keyboard Helper. That's how I got Dvorak on my ASUS Transformer Pad. However, it would totally rock if Hacker's Keyboard gained remapping support for external keyboards, making for a seamless user experience.

     
  • Anonymous

    Anonymous - 2012-07-30

    Originally posted by: mirandah...@gmail.com

    I have a translator app on my Kindle fire. I am currently trying to learn Russian so I set the translator to translate Russian into English. While I was doing that the keyboard changed into the Cyrillic alphabet and I can't change it back. I don't know how it changed into Russian in the first place. Is there a way I change it back to english while still being able to use the Cyrillic keyboard sometimes?

     
  • Anonymous

    Anonymous - 2012-09-05

    Originally posted by: silvestr...@gmail.com

    Swipe left to delete last word?

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.