Jump to content


Photo

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


  • Please log in to reply
24 replies to this topic

#1
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone
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.

Attached Files


Edited by BiboTheClown, 04 December 2010 - 11:46 AM.

  • 0

#2
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone
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 !

  • 0

#3
str2000

str2000

    Newbie

  • Members
  • Pip
  • 2 posts
  • Devices:Dell Streak
Hi,

could you implement german layout QWERTZ ?

I attached a photo of my keyboard.

Thanks a lot.

Stephan

Attached Files


  • 0

#4
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone

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, 09 November 2010 - 06:22 PM.

  • 0

#5
str2000

str2000

    Newbie

  • Members
  • Pip
  • 2 posts
  • Devices:Dell Streak
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.

Attached Files

  • Attached File  keys.txt   462bytes   58 downloads

  • 0

#6
Truenash

Truenash

    Regular

  • Members
  • PipPip
  • 57 posts
  • Devices:Dell Streak, HTC Hero
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

  • 0

#7
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone

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?

  • 0

#8
Truenash

Truenash

    Regular

  • Members
  • PipPip
  • 57 posts
  • Devices:Dell Streak, HTC Hero

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


Yeah no problem, sorry for the poor quality, and thanks a lot! Posted Image

  • 0

#9
Truenash

Truenash

    Regular

  • Members
  • PipPip
  • 57 posts
  • Devices:Dell Streak, HTC Hero

Yeah no problem, sorry for the poor quality, and thanks a lot! Posted Image


Any luck?

  • 0

#10
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone

Any luck?


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

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

Edited by BiboTheClown, 16 November 2010 - 06:15 AM.

  • 0

#11
alfonsomm

alfonsomm

    Newbie

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Houston, Tx
  • Devices:Dell Streak (US) AT&T

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

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


Awesome cant wait for the qwerty layout

  • 0

#12
nck2205

nck2205

    Newbie

  • Members
  • Pip
  • 5 posts
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.

  • 0

#13
Truenash

Truenash

    Regular

  • Members
  • PipPip
  • 57 posts
  • Devices:Dell Streak, HTC Hero
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.

  • 0

#14
alfonsomm

alfonsomm

    Newbie

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Houston, Tx
  • Devices:Dell Streak (US) AT&T

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.

  • 0

#15
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone
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)

Attached Files


  • 0

#16
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone
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...




Attached File  IMG_20101122_194223.jpg   29.26KB   45 downloads
Attached File  IMG_20101122_194301.jpg   28.01KB   33 downloads
Attached File  IMG_20101122_194345.jpg   23.01KB   26 downloads
Attached File  IMG_20101122_194408.jpg   29.26KB   36 downloads

  • 0

#17
alfonsomm

alfonsomm

    Newbie

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Houston, Tx
  • Devices:Dell Streak (US) AT&T

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...
Attached File  IMG_20101122_194223.jpg   29.26KB   45 downloads
Attached File  IMG_20101122_194301.jpg   28.01KB   33 downloads
Attached File  IMG_20101122_194345.jpg   23.01KB   26 downloads
Attached File  IMG_20101122_194408.jpg   29.26KB   36 downloads


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

  • 0

#18
Truenash

Truenash

    Regular

  • Members
  • PipPip
  • 57 posts
  • Devices:Dell Streak, HTC Hero
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.

  • 0

#19
BiboTheClown

BiboTheClown

    Newbie

  • Members
  • Pip
  • 24 posts
  • Devices:Streak - Milestone
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...

  • 0

#20
4vibez

4vibez

    Newbie

  • Members
  • Pip
  • 1 posts
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:

[codebox]
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

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users