Hardware keyboard

If you wish something new in Smart Keyboard, here is the place to ask!
Post Reply
moob
Posts: 6
Joined: Tue May 03, 2011 5:28 pm
Phone: HTC Dream, Android 2.2 - CyanogenMod 6.1

Hardware keyboard

Post by moob »

Hi,
I tried to use Smart Keyboard - it's great but I have some issues with hardware keyboard:
  • copy/paste/cut short-cuts - Standard Android keyboard supports some short-cuts when using hardware keyboard - Can you add this to Smart Keyboard too?
  • diacritics (long-press) - When I hold button down it is repeating a character - this is not normal, I prefer pop-up with alternate characters.
  • qwertz - Is it possible to switch layout for hardware keyboard?
Best regards,
Milan
richardkemp
Posts: 22
Joined: Fri Feb 18, 2011 11:34 am
Phone: ZTE Blade - CM7

Re: Hardware keyboard

Post by richardkemp »

I think I can answer the second two questions..

2.
Look in the SKP options. Maybe it is something there? For me holding on a letter gives symbols.

3.
SKP has no control over the hardware keyboard. It is possible if you 'root' your phone and edit (by hand) a file controlling the keylayout. This isn't too difficult if you are confident with such things. If you decide to look into this the file is named qwerty.kl and is in /system/usr/keylayout on my device at least. The syntax is pretty obvious.
moob
Posts: 6
Joined: Tue May 03, 2011 5:28 pm
Phone: HTC Dream, Android 2.2 - CyanogenMod 6.1

Re: Hardware keyboard

Post by moob »

Hi,
Thank you for your damn fast response. :)

Ad 1) I'm missing these short-cuts: MENU+X, MENU+C, MENU+V and MENU+A.

Ad 2) I tried to make delay period shorten, but it didn't help. I had some issues (Unknown reason -18) with Log Collector... So, I've finally resolved it and I have an output:
  • Interesting things started at 05-07 10:31:28.230.
  • I rebooted phone; enabled SK; went to Google Task; typed Áá (all on hardware keyboard) with Standard keyboard; switched Input Method to SK typed ã and then I long-pressed e to write é and it started to repeat this character (see log).

Code: Select all

Log Collector version: 1.1.0
Device model: HTC Dream
Firmware version: 2.2.1
Kernel version: 2.6.35.9-cyanogenmod
shade@toxygene )
#2 PREEMPT Sun Dec 5 19:17:51 EST 2010
Build number: FRG83

05-07 10:30:59.410 I/ActivityManager(  269): Displayed activity org.dayup.gtask/.GoogleTaskActivity: 5179 ms (total 5179 ms)
05-07 10:31:01.490 I/ActivityManager(  269): Starting activity: Intent { act=android.intent.action.INSERT dat=content://org.dayup.gtask.data/tasks/2 typ=vnd.android.cursor.item/dayup.gtask.task cmp=org.dayup.gtask/.GoogleTaskEditorTabActivity (has extras) }
05-07 10:31:01.510 D/PhoneWindow(  725): couldn't save which view has focus because the focused view org.dayup.gtask.GoogleTaskActivity$1$1@43e8c640 has no id.
05-07 10:31:01.560 I/ActivityManager(  269): Process com.android.settings (pid 1168) has died.
05-07 10:31:01.870 D/dalvikvm(  725): GC_FOR_MALLOC freed 3671 objects / 233008 bytes in 114ms
05-07 10:31:02.540 D/dalvikvm(  725): GC_EXTERNAL_ALLOC freed 1581 objects / 263656 bytes in 168ms
05-07 10:31:02.650 I/WindowManager(  269): Setting rotation to 1, animFlags=1
05-07 10:31:02.670 I/ActivityManager(  269): Config changed: { scale=1.0 imsi=230/2 loc=cs_CZ touch=3 keys=2/1/1 nav=3/1 orien=2 layout=18 uiMode=17 seq=4}
05-07 10:31:02.730 I/ActivityManager(  269): Displayed activity org.dayup.gtask/.GoogleTaskEditorTabActivity: 1142 ms (total 1142 ms)
05-07 10:31:02.800 D/ConnectivityService(  269): getMobileDataEnabled returning true
05-07 10:31:02.830 I/GPSButton(  269): Update State
05-07 10:31:04.870 I/Resources(  725): Loaded time zone names for en_US in 3717ms.
05-07 10:31:05.320 D/dalvikvm(  269): GC_EXPLICIT freed 2966 objects / 130856 bytes in 215ms
05-07 10:31:06.240 I/Resources(  725): Loaded time zone names for en_US in 862ms.
05-07 10:31:06.320 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:06.720 D/dalvikvm(  725): GC_FOR_MALLOC freed 6982 objects / 448936 bytes in 123ms
05-07 10:31:07.220 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:20.040 D/dalvikvm(  725): GC_EXTERNAL_ALLOC freed 5824 objects / 468416 bytes in 127ms
05-07 10:31:22.590 W/InputManagerService(  269): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44043660
05-07 10:31:25.150 I/ActivityManager(  269): Start proc net.cdeguet.smartkeyboardtrial for service net.cdeguet.smartkeyboardtrial/.SmartKeyboard: pid=1211 uid=10060 gids={1015}
05-07 10:31:25.160 W/InputManagerService(  269): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43f5f8c0
05-07 10:31:25.600 I/ActivityThread( 1211): Publishing provider net.cdeguet.smartkeyboardtrial.userdicprovider: net.cdeguet.smartkeyboardtrial.UserDictionaryProvider
05-07 10:31:25.770 I/ActivityThread( 1211): Publishing provider net.cdeguet.smartkeyboardtrial.MyBackupPro: net.cdeguet.smartkeyboardtrial.MyBackupPro
05-07 10:31:25.810 I/ActivityThread( 1211): Publishing provider net.cdeguet.smartkeyboardtrial.autotextprovider: net.cdeguet.smartkeyboardtrial.AutoTextProvider
05-07 10:31:26.130 D/SmartKeyboard( 1211): Clearing dictionary
05-07 10:31:26.150 D/dalvikvm( 1211): Trying to load lib /data/data/net.cdeguet.smartkeyboardtrial/lib/libjni_smartkbdtrial2.so 0x43de6a68
05-07 10:31:26.150 D/dalvikvm( 1211): Added shared lib /data/data/net.cdeguet.smartkeyboardtrial/lib/libjni_smartkbdtrial2.so 0x43de6a68
05-07 10:31:26.160 D/SmartKeyboard( 1211): Loading autotext dictionary...
05-07 10:31:26.470 I/SmartKeyboardPro( 1211): Trying to load dictionary: EN
05-07 10:31:26.780 I/SmartKeyboard( 1211): Loaded smart dictionary in 312msec
05-07 10:31:27.240 I/SmartKeyboard( 1211): Loaded dictionary in 601msec
05-07 10:31:27.240 D/SmartKeyboard( 1211): Clearing dictionary
05-07 10:31:27.280 D/SmartKeyboard( 1211): Clearing dictionary
05-07 10:31:27.280 I/SmartKeyboard( 1211): Loaded user dictionary in 25msec
05-07 10:31:27.660 I/ActivityManager(  269): Process android.process.media (pid 668) has died.
05-07 10:31:27.920 D/dalvikvm( 1211): GC_FOR_MALLOC freed 3369 objects / 228664 bytes in 113ms
05-07 10:31:28.170 I/SmartKeyboardPro( 1211): Trying to load dictionary: CZ
05-07 10:31:28.230 I/SmartKeyboard( 1211): Loaded dictionary in 34msec
05-07 10:31:28.230 D/SmartKeyboard( 1211): Clearing dictionary
05-07 10:31:28.260 D/SmartKeyboard( 1211): onBindInput
05-07 10:31:28.260 D/SmartKeyboard( 1211): onStartInput: restarting=false
05-07 10:31:28.280 D/SmartKeyboard( 1211): Clearing dictionary
05-07 10:31:28.280 I/SmartKeyboard( 1211): Loaded user dictionary in 32msec
05-07 10:31:28.400 D/SmartKeyboard( 1211): keyCode: 22
05-07 10:31:28.730 D/SmartKeyboard( 1211): keyCode: 20
05-07 10:31:28.810 D/SmartKeyboard( 1211): keyCode: 23
05-07 10:31:29.130 D/SmartKeyboard( 1211): onFinishInput
05-07 10:31:29.130 D/SmartKeyboard( 1211): onStartInput: restarting=false
05-07 10:31:30.700 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.200 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.260 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.310 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.370 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.420 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.470 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.500 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.550 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:31.600 D/SmartKeyboard( 1211): keyCode: 33
05-07 10:31:32.110 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.610 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.670 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.730 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.790 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.840 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.870 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:32.970 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:33.030 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:33.080 D/SmartKeyboard( 1211): keyCode: 29
05-07 10:31:33.180 D/dalvikvm(  340): GC_EXPLICIT freed 2045 objects / 112696 bytes in 676ms
05-07 10:31:36.620 D/SmartKeyboard( 1211): keyCode: 4
05-07 10:31:37.150 W/ActivityManager(  269): Activity pause timeout for HistoryRecord{43eda1b0 org.dayup.gtask/.GoogleTaskEditorTabActivity}
05-07 10:31:38.540 D/GoogleTaskEditorTabActivity(  725): onPause ---- null
05-07 10:31:38.580 W/InputManagerService(  269): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@441c7390 (uid=10077 pid=725)
05-07 10:31:38.680 D/TaskListTab(  725): Set root - org.dayup.gtask.data.TaskList@43fc5138
05-07 10:31:38.680 D/TaskListTab(  725): Set root - org.dayup.gtask.data.TaskList@43ecb488
05-07 10:31:38.690 D/TaskListTab(  725): Set root - org.dayup.gtask.data.TaskList@43ef7558
05-07 10:31:39.250 D/SmartKeyboard( 1211): onFinishInput
05-07 10:31:39.250 D/SmartKeyboard( 1211): onStartInput: restarting=false
05-07 10:31:39.420 D/dalvikvm(  725): GC_EXTERNAL_ALLOC freed 9953 objects / 559328 bytes in 132ms
05-07 10:31:39.560 W/IInputConnectionWrapper(  725): finishComposingText on inactive InputConnection
05-07 10:31:40.730 I/Resources(  725): Loaded time zone names for en_US in 835ms.
05-07 10:31:40.740 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:40.960 D/SmartKeyboard( 1211): keyCode: 4
05-07 10:31:41.010 I/WindowManager(  269): Setting rotation to 0, animFlags=1
05-07 10:31:41.030 I/ActivityManager(  269): Config changed: { scale=1.0 imsi=230/2 loc=cs_CZ touch=3 keys=2/1/1 nav=3/1 orien=1 layout=18 uiMode=17 seq=5}
05-07 10:31:41.070 D/KBD     ( 1211): onInitializeInterface
05-07 10:31:41.080 D/SmartKeyboard( 1211): onStartInput: restarting=true
05-07 10:31:41.160 D/ConnectivityService(  269): getMobileDataEnabled returning true
05-07 10:31:41.190 I/GPSButton(  269): Update State
05-07 10:31:41.240 D/FlurryAgent(  725): Ending session
05-07 10:31:41.340 D/SmartKeyboard( 1211): onUnbindInput
05-07 10:31:41.350 D/SmartKeyboard( 1211): onBindInput
05-07 10:31:41.350 D/SmartKeyboard( 1211): onStartInput: restarting=false
05-07 10:31:41.730 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:42.410 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:42.820 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:43.390 D/dalvikvm(  269): GC_EXPLICIT freed 4120 objects / 260296 bytes in 226ms
05-07 10:31:43.730 I/global  (  725): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-07 10:31:43.820 D/dalvikvm(  357): GC_EXTERNAL_ALLOC freed 7849 objects / 494424
Ad 3) This was really easy. Well, I have HTC Dream and it wasn't in qwerty.kl but I edited all *.kl files and it helped. Thank you so much.

Regards,
Milan
richardkemp
Posts: 22
Joined: Fri Feb 18, 2011 11:34 am
Phone: ZTE Blade - CM7

Re: Hardware keyboard

Post by richardkemp »

No problem. A tip for a dream user (I only recently upgraded myself) is to edit the keylayout to turn either the camera or the call key into a search key. I personally think it's much more useful...

Likewise my new phone has neither call key, search key or camera key, major bummer. I use the volume buttons now for as search and call, and control volume with tasker profiles.. lifesaver!
moob
Posts: 6
Joined: Tue May 03, 2011 5:28 pm
Phone: HTC Dream, Android 2.2 - CyanogenMod 6.1

Re: Hardware keyboard

Post by moob »

Interesting idea. Well, what do you think, should I create new topic as a Bug report?

Could I help somehow with development of that shortcut issue?
richardkemp
Posts: 22
Joined: Fri Feb 18, 2011 11:34 am
Phone: ZTE Blade - CM7

Re: Hardware keyboard

Post by richardkemp »

Not really sure such a feature is within the scope of a software keyboard. Best I can suggest is one of these:

http://www.appbrain.com/app/button-shor ... nshortcuts
http://www.appbrain.com/app/quickdesk-b ... .quickdesk

etc

Edit: OR: http://www.appbrain.com/app/swipepad-be ... ad.android
moob
Posts: 6
Joined: Tue May 03, 2011 5:28 pm
Phone: HTC Dream, Android 2.2 - CyanogenMod 6.1

Re: Hardware keyboard

Post by moob »

Thank you again for that list of interesting apps. I was testing them... If you meant to use is instead of keyboard shortcuts, it is almost unusable. Remember I have eldery G1. ;)
If you thought it is hard to implement, I can discover how. To do it and post it here.

In my humble opinion "copy / paste / cut / select all" are standard for many keyboards on the market.

With best regards,
Milan
matteosg
Posts: 1
Joined: Thu May 12, 2011 4:35 am

Re: Hardware keyboard

Post by matteosg »

I'm using it on Motorola Charm with a portrait physical qwerty keyboard. I move to Android from a Palm Treo 650, we have an app called keycaps for Treo. I can choose a letter in uppercase when I press & hold the hard button and choose a number when I press the button twice without using the shift or function button. I was wondering if there's a way for you to do something like that for Android phone with physical keyboard. My friend has a Samsung Galaxy Pro which is quite similar to Moto Charm. I believe your app will be very popular if that can be done.

Matt
Post Reply