Jump to content

Logitech DiNovo Mini Keyboard - keylayout and keychars QWERTY, AZERTY & QWERTZ files


Guest BiboTheClown

Recommended Posts

Guest BiboTheClown

Hi,

A friend of mine bought to me a DiNovo mini keyboard yesterday. I got no issue to connect to my Streak, but the layout used by Android was the qwerty one... Ugly as I'm in France and my DiNovo keyboard has the Azerty French keyboard...

I looked a bit on the net and didn't find the required configuration files (Android was looking for a "/system/usr/keychars/Logitech_________Bluetooth_Keyboard.kcm.bin" file).

I spent my day on adapting the Logitech_________Bluetooth_Keyboard.kcm.bin and Logitech_________Bluetooth_Keyboard.kl files to get an "almost" correct configuration, so I wanted to share that with you.

Working :

- Vol Up / Down

- "Vol off" is mapped to "HOME" key

- "Record on" is mapped to "MENU" key

- bottom-right key mapped to BACK

- "Windows" key is mapped to "HOME" key

- "Control" key is mapped to "Alt left" key

- "Alt Right" key is mapped to... "Alt right" key

- "Maj left" is mapped to "Shift left" key

- "Maj right" is mapped to "Shift right" key

- All other keys should be mapped as shown on the keyboard layout.

Still Not Working :

- Keys "OK", "D-Pad center" and "Enter" are sharing the same scancode. Not sure there's a way to distinguish them...

How To Install :

- Unzip the zip file on your computer

- Copy the Logitech_________Bluetooth_Keyboard.kcm.bin and Logitech_________Bluetooth_Keyboard.kl from the relevant folder (qwerty, qwertz or azerty) to the main one.

- Launch the ADBInstallation.cmd script

Once done, reconnect to your DiNovo keyboard, and it should be fine !

The ADBInstallation.cmd script just mount the /system partition in rw mode, push the two files and set correct owner/permissions on these.

If someone is interested by the same for some other DiNovo keyboard layout, just send me a picture of the keyboard itself and give me a little time...

EDIT:

German "Qwertz" DiNovo keyboard added.

English "Qwerty" DiNovo keyboard added.

DiNovo.zip

Edited by BiboTheClown
Link to comment
Share on other sites

Guest BiboTheClown

Hi,

I still have a trouble with the DiNovo keyboard about the mouse cursor which is not displayed...

It's not only related to this BT keyboard, but seems more due to the lack of mouse cursor in Android itself...

Anyone has an idea/hack to make this appear ?

Thanks !

Link to comment
Share on other sites

Guest BiboTheClown
Hi,

could you implement german layout QWERTZ ?

I attached a photo of my keyboard.

Thanks a lot.

Stephan

Done.

Some functions keys are perhaps still not correct as the ones for "O" and "N" keys where not clear enough for my old eyes :rolleyes: .

I've just changed the BACK mapping (in both versions) to the lowest-right keyboard key, found it more intuitive like that.

Still not mapping the music keys (found no equivalent in Android keymaps), and still cannot get a pointer for the pad in touch mode... seems to be due to a lack in Android kernel, perhaps a patch could be available but will require kernel recompilation... will ask our brave old Stephen to add it in its amazing builds if I can find the correct patch :huh: )

Edited by BiboTheClown
Link to comment
Share on other sites

Guest str2000

Hi,

I tested the layout and I think the major keys are working.

Sorry, my picture was not very sharp (for your old eyes :rolleyes: ) and so I made a small listing for the FN and SHIFT mappings.

keys.txt

Link to comment
Share on other sites

Guest BiboTheClown
Could you make a standard QWERTY version with the android key maps? On the qwerty at the moment, there's no menu key or back key etc

Yep, sure, can you post a snapshot of the qwerty DiNovo keyboard layout?

Link to comment
Share on other sites

Guest BiboTheClown
Any luck?

Yeah, sure, just need more free time...

Will be *hopefully* done for the end of this week :-)

Edited by BiboTheClown
Link to comment
Share on other sites

Guest nck2205

How do you physically attach your Streak to the Dinovo Mini keyboard? Can someone take a picture and show me? I've only seen the attached form on Engadget i can't for the life of me figure out how the keyboard can hold the Streak in place, unless you're using some kind of adhesive.

Link to comment
Share on other sites

Guest Truenash

The one shown on Engadget is using adhesive, electrical tape to be exact.

I'm working on a case for the streak and dinovo, with some leather and removing the top half of the dinovo. When I've got a design I'm happy with I may make some extras and ship them out to you good people.

Link to comment
Share on other sites

Guest alfonsomm
The one shown on Engadget is using adhesive, electrical tape to be exact.

I'm working on a case for the streak and dinovo, with some leather and removing the top half of the dinovo. When I've got a design I'm happy with I may make some extras and ship them out to you good people.

Hey nash if you need some help on design work i can help. I myself was going to make a custom top for mine too. We can compare designs if u want might be able to come up with one real good design.

Link to comment
Share on other sites

Guest BiboTheClown

Mhhh...

Sorry for the delay, I had upgraded to 2.2 and got the FC issues, so had to revert to 1.6 and lose a bit of time :-)

I've modified the keylayout files for proper functions keys in qwertz and qwerty keyboard, but I have a problem with the new 2.2 (steve 1.4.1): this version seems to not load the Logitech_________Bluetooth_Keyboard.kcm.bin and Logitech_________Bluetooth_Keyboard.kl files anymore...

I upload the updated qwertz and qwerty layouts, but please be advice that I didn't test them on my own due to this issue. No, I will definitely not revert back to 1.3 release, too happy with that one :-)

I will look for this layout loading issue as soon as I get some more time (stop sleeping? urg!), if you have too jumped to 2.2 (stock or steve 1.4.1), please post your test result.

For information, here is my logcat log :

E/BluetoothEventLoop.cpp(  132): event_filter: Received signal org.bluez.Adapter:DeviceFound from /org/bluez/1923/hci0

D/BluetoothService(  132): updateDeviceServiceChannelCache(60:D0:A9:21:71:60)

V/BluetoothEventRedirector(  656): Received android.bluetooth.device.action.FOUND

I/global  (  656): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.

I/global  (  656): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.

D/CachedBluetoothDevice(  656): [HID Status] = 1

I/global  (  656): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.

I/BtOppRfcommListener( 1717): Accept thread started on channel 12

D/CachedBluetoothDevice(  656): [HID Status] = 1

I/global  (  656): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.

D/CachedBluetoothDevice(  656): [HID Status] = 1

I/global  (  656): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.

E/BluetoothEventLoop.cpp(  132): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1923/hci0/dev_00_1F_20_0C_7B_B1

D/BluetoothEventLoop(  132): Device property changed:00:1F:20:0C:7B:B1property:Connected

D/WindowManager(  132): onBluetoothDeviceConnected name:Logitech diNovo Mini class:2540 device class:1344

D/CachedBluetoothDevice(  656): [HID status] ACTION_ACL_CONNECTED notify : 00:1F:20:0C:7B:B1

D/CachedBluetoothDevice(  656): [HID status] Connected. (Logitech diNovo Mini) : 1 -> 2

D/CachedBluetoothDevice(  656): Logitech diNovo Mini isConnected (00:1F:20:0C:7B:B1)

D/CachedBluetoothDevice(  656): [Gallery intent] :true

D/CachedBluetoothDevice(  656): [HID Status] = 2

I/global  (  656): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.

E/BluetoothEventLoop.cpp(  132): event_filter: Received signal org.bluez.Adapter:DeviceFound from /org/bluez/1923/hci0

D/BluetoothService(  132): updateDeviceServiceChannelCache(00:1F:20:0C:7B:B1)

E/BluetoothEventLoop.cpp(  132): event_filter: Received signal org.bluez.Adapter:PropertyChanged from /org/bluez/1923/hci0

D/BluetoothEventLoop(  132): onPropertyChanged: property: Discovering

I/bluetoothd( 1923): Stopping discovery

V/BluetoothEventRedirector(  656): Received android.bluetooth.device.action.FOUND

D/CachedBluetoothDevice(  656): Logitech diNovo Mini isConnected (00:1F:20:0C:7B:B1)

E/bluetoothd( 1923): Inquiry Failed with status 0x12

V/BluetoothEventRedirector(  656): Received android.bluetooth.adapter.action.DISCOVERY_FINISHED

D/PrintK  ( 1934): <6>input: Logitech		 Bluetooth Keyboard as /devices/virtual/bluetooth/hci0/hci0:12/input6

D/PrintK  ( 1934): <6>generic-bluetooth 0005:046D:B30C.0002: input: BLUETOOTH HID v0.44 Mouse [Logitech		 Bluetooth Keyboard] on 00:17:CA:98:4C:93

E/tslib   (  132): could not get driver version for /dev/input/mouse1, Not a typewriter

I/KeyInputQueue(  132): Device added: id=0x20005, name=Logitech		 Bluetooth Keyboard, classes=63

I/ActivityManager(  132): Config changed: { scale=1.0 imsi=0/0 loc=fr_FR touch=3 keys=2/1/2 nav=2/1 orien=2 layout=35 uiMode=17 seq=6}

I/UsageStats(  132): Unexpected resume of com.android.settings while already resumed in com.android.settings

D/PhoneApp(  220): updateProximitySensorMode: state = IDLE

I/PhoneApp(  220): proximitySensorModeEnabled = true

D/PhoneApp(  220): updateProximitySensorMode: lock already released.

D/CachedBluetoothDevice(  656): Logitech diNovo Mini isConnected (00:1F:20:0C:7B:B1)

azerty.zip

qwerty.zip

qwertz.zip

Link to comment
Share on other sites

Guest BiboTheClown

And to contribue to the fixing ideas, here is mine. I've used some adhesive velcro, and the Dell form fit case to avoid changing anything to the streak itself.

Anyway, the main problem is due to the difference of weigth between Streak and Dinovo... I've imagined to insert some heavy metal pieces inside the battery cover of the Dinovo... (pouring concrete?...)

The goal is not to make a 10 pounds accessory but it would be nice to have it staying right...

post-618229-1290453195_thumb.jpg

post-618229-1290453202_thumb.jpg

post-618229-1290453206_thumb.jpg

post-618229-1290453210_thumb.jpg

Link to comment
Share on other sites

Guest alfonsomm
And to contribue to the fixing ideas, here is mine. I've used some adhesive velcro, and the Dell form fit case to avoid changing anything to the streak itself.

Anyway, the main problem is due to the difference of weigth between Streak and Dinovo... I've imagined to insert some heavy metal pieces inside the battery cover of the Dinovo... (pouring concrete?...)

The goal is not to make a 10 pounds accessory but it would be nice to have it staying right...

post-618229-1290453195_thumb.jpg

post-618229-1290453202_thumb.jpg

post-618229-1290453206_thumb.jpg

post-618229-1290453210_thumb.jpg

Now thats slick..good job...btw do you think maybe asking Stephen to look into the notloading issue might help? I really want to try this out but im on v1.4.1

Link to comment
Share on other sites

Guest Truenash

Great work on both the mod and the keylayout Bibo! I have a few problems with the QWERTY layout, I'll write up a list after I finish this coursework. I really appreciate you going through the trouble to make it in the first place though, so no worries if you haven't got time to fix it :P

Sounds good Alfon, I'll PM you when I get started again, a bit bogged down with work at the moment. The problem I'm having with it is the top case on the DiNovo. I wanted to remove it so I could fold the Streak flat against it, but to unscrew it you need to more or less take apart the entire keyboard, and I was a bit reluctant to do that. Also, the backlight is attached to a switch that is closed when the lid is opened, so this will have to be replaced somehow. I was thinking of just cutting the bulk of the top case off, but that's a bit destructive.

Link to comment
Share on other sites

Guest BiboTheClown

Hi,

Shame on me... A permissions issue... Took me 10mns to fix it today.

Anyway, first topic edited with proper installation script, azerty, qwerty and qwertz keylayouts that should work on all Android versions (both stock and customized).

Thanks to report the issues...

Link to comment
Share on other sites

  • 6 months later...
Guest 4vibez

Thanks Bibo for your great work, worked liked a charm.

i've added the media controls to your layout.

for anyone else interested just add:


key 165 MEDIA_PREVIOUS WAKE
key 163 MEDIA_NEXT WAKE
key 166 MEDIA_STOP WAKE
key 164 MEDIA_PLAY_PAUSE WAKE
[/codebox]

to Logitech_________Bluetooth_Keyboard.kl

Link to comment
Share on other sites

  • 2 weeks later...
Guest BiboTheClown
Hi Bibo

Si tu nous écoute??

One little question the cmd script should be launch on the PC or the Android device?

Merci

Hello,

First, unzip the Dinovo.zip archive on your PC.

Second step, you'll need a working adb on this system...

Then launch the ADBInstal.cmd script, or even better, start a command prompt, cd to the unzipped folder and start it from there (you'll get the error messages if any)

Feel free to PM me if you have any doubt (even in French :).

Link to comment
Share on other sites

  • 3 weeks later...
Guest Esired

Hello,

do someone know how do get it to work one a Honeycomb Tablet?

I started the script. And I have this files in the right folders now, but it doesn't work?

Do I have to move or rename the files?

Link to comment
Share on other sites

  • 1 month later...
Guest hobbes64

Hi,

I tried to install this to my phone (galaxy S2), I have the custom ROM Litening 5.0 on it, so the GS2 must be "Root"

but it doesn't work for me, I have this error message below:

Can you help me?

P.S: @BilboTheClown, je suis français, donc si c'est plus simple...

*************************************************

* Logitech DiNovo Keyboard Layouts and KeyChars *

*************************************************

*

* Please copy manually the keyboards file (kcm.bin and .kl) from

* 'azerty', 'qwerty' or 'qwertz' folders in the ADBInstallation.cmd one.

* And then hit a key to follow the installation...

Appuyez sur une touche pour continuer...

mount: permission denied (are you root?)

failed to copy 'Logitech_________Bluetooth_Keyboard.kcm.bin' to '/system/usr/key

chars/Logitech_________Bluetooth_Keyboard.kcm.bin': Read-only file system

failed to copy 'Logitech_________Bluetooth_Keyboard.kl' to '/system/usr/keylayou

t/Logitech_________Bluetooth_Keyboard.kl': Read-only file system

chown: /system/usr/keychars/Logitech_________Bluetooth_Keyboard.kcm.bin: No such

file or directory

chown: /system/usr/keylayout/Logitech_________Bluetooth_Keyboard.kl: No such fil

e or directory

chmod: /system/usr/keychars/Logitech_________Bluetooth_Keyboard.kcm.bin: No such

file or directory

chmod: /system/usr/keylayout/Logitech_________Bluetooth_Keyboard.kl: No such fil

e or directory

*************************************************

* Installation finished *

*************************************************

Appuyez sur une touche pour continuer...

Edited by hobbes64
Link to comment
Share on other sites

  • 6 months later...
Guest lulu1356

Hi,

I installed both files and Dinovo mini works AZERTY on my GT-N7000.

But some keymaps are not good..

How to transform the bin so that I can edit and transform back to bin..

So, I can contribute...

Basically number keys are still on QWERTY mode, and some mitakes in ponctuation...

Bets regards

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.