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 2 of 2)
  • Anonymous

    Anonymous - 2012-09-08

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

    is there any way to "teach" the keyboard new words?

     
  • Anonymous

    Anonymous - 2012-09-24

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

    Probably a pipe dream, but the ability to customize layout and button width would be awesome for smaller devices.

     
  • Anonymous

    Anonymous - 2012-11-27

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

    Please add punctuation of the Arabic language Thanks

     
  • Anonymous

    Anonymous - 2012-12-18

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

    Unable to get this keyboard to appear in the input method list on my Google Nexus 10 tablet.

     
  • Anonymous

    Anonymous - 2013-01-08

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

    Please let us have a Chinese/Pinyin input.

     
  • Anonymous

    Anonymous - 2013-01-21

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

    Tab key does not work, ConnectBot? mode activated or not. I am using a Nexus 7 and the text editor of 'Dateimanager'.

     
  • Anonymous

    Anonymous - 2013-02-19

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

    First of all thank you for this must-have app! This is something that really improves your device usage. But still it leaves room for improvement, at least from my point.

    I am using KeePassDroid? as well: https://play.google.com/store/apps/details?id=com.android.keepass&hl=en

    But I cannot use some of my strong passwords using complete ASCII character set: http://www.irongeek.com/alt-numpad-ascii-key-combos-and-chart.html

    Is there any chance to include all symbols in further "ALT" pages? I understand from this FAQ that it may still depend on the application itself if such symbols may work, but I'd love to try that!

    Or am I missing something that already exists in this app?

    Best regards!

     
  • Anonymous

    Anonymous - 2013-03-24

    Originally posted by: fujii.ra...@gmail.com

    I have downloaded "Hackers keyboard" and first impresion is very good, but I have some suggestions for lithuanian keyboard layout.

    e (é è ê ë ē - these symbols are not used in lithuanian, € - might be useful, and need symbols - ę ė) u (ū -this symbol is used, but these - ü û ù ú are not, and need symbol - ų)

    i (ī ï î ì í - these symbols are not used in lithuanian, and need symbol - į)

    a (á à â ã ä å ā æ - these symbols are not used in lithuanian, and need symbol - ą, and @ symbol might be very useful)

    s (§ ß -these symbols are not used in lithuanian, š - this symbol is used) z (ž - this symbol is used) c (ç - this symbol is not used, č - this symbol is used, and these symbols are not ć ¢)

    or for 5 lines layout top line layout could be: ą(1) č(2) ę(3) ė(4) į(5) š(6) ų(7) ū(8) ž(9) @(0)

    thanks for great work.

     
  • Anonymous

    Anonymous - 2013-04-02

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

    I have installed Hacker's Keyboard in Kindle Fire HD 8.9 (this device is not rooted and has never been rooted) so it means it is supported. My current kindle system version is 8.3.0 (March 28) and in this update includes the keyboards in several languages. When I installed the hacker's keyboard and enabled it, it was added in the list of keyboards. It works pretty great (like a computer keyboard) especially for word processor apps and the only issue is that it is cut off at the left in landscape view because of that Home-Option-Back-Favorite panel of Kindle. Hope the keyboard in landscape view will resize from the edge of this pane. Another thing is the CTRL+X and CTRL+V seemed not working...

     
  • Anonymous

    Anonymous - 2013-04-02

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

    This app should be made available in Amazon App Store... it's a great convenience!

     
  • Anonymous

    Anonymous - 2013-04-09

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

    Please add the option to completely disable auto-complete instead of only offering "always on" and "portrait mode only." Some pages will call for Portrait mode for ease of view and yet have password fields that interact poorly with the autocomplete.

     
  • Anonymous

    Anonymous - 2013-05-08

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

    Hi, I can not see the GEAR symbol on my 7" tablet. to get into the settings menu. I read something about sliding the space bar to get different layouts. In trying that a few times (It really didn't think it did anything) but I did finally get the Settings for Hackers Keyboard menu. I am unable to dublicate whatever I did. Can someone tell me how to get into the settings menu without the GEAR. It looks like there is some neat stuff in that menu. Thank You, PeterF

     
  • Anonymous

    Anonymous - 2013-05-19

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

    When I press the button to select input methods I get the message that "Unfortunately, Settings has stopped". Have un-installed and re-installed, tried the setting several times, and still can't get past trying to set up input method due to settings having stopped. Equipment is a Nook tablet rooted to Jellybean. Everything else on it works perfectly. Any suggestions?

     
  • Anonymous

    Anonymous - 2013-08-06

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

    This doesn't support actual auto-correction--it only does suggestion. Is this by design? (Samsung S4)

     
  • Anonymous

    Anonymous - 2013-08-06

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

    There is also a picture in your Google Play page showing the CTRL key hidden; is this still possible? Can't find a setting for that anywhere.

     
  • Anonymous

    Anonymous - 2013-10-15

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

    Hello please how does one do undo?

     
  • Anonymous

    Anonymous - 2013-11-23

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

    navigation keys (arrows,pg, etc) doen't support shift,ctrl,alt combination. this would be a nice-to-have to support CUA selection in editors.

     
  • Richard Kimber

    Richard Kimber - 2020-08-05

    How do I get the £ sign?

     
<< < 1 2 (Page 2 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.