Hi,

I also use USB keyboard, but MENU key is mapped as [F1] key.



On Jul 20, 4:58 pm, Daniel <daniel.sangor...@gmail.com> wrote:
> Hi,
>
> I am trying to port Android (2.2_r1.1) to an ARM11 board which runs on
> AC power (no batteries!!) and where im using a USB keyboard as input
> device.
>
> So far, Android initializes without problems and I get to the first
> screen when you have to press MENU to unlock it. I have modified the
> qwerty.kl file so that MENU is mapped to F5 key.
>
> qwerty.kl:
> key 63    MENU              WAKE_DROPPED
>
> (NOTE: also tried with WAKE instead of WAKE_DROPPED)
>
> When I press the F5 key i see this on the logcat log:
>
> D/KeyguardViewMediator(  702): wakeWhenReadyLocked(82)
> D/KeyguardViewMediator(  702): handleWakeWhenReady(82)
> D/KeyguardViewMediator(  702): pokeWakelock(5000)
> I/power   (  702): *** set_screen_state 1
>
> It seems that KeyguardViewMediator is receiving the MENU key correctly
> (since that is the code in KeyEvent.java):
>
> public static final int KEYCODE_MENU  = 82;
>
> Therefore, the keyboard seems to be OK. Unfortunately the screen is
> not unlocked!!
>
> NOTE: I have also tried using the sendevent tool, but the result is
> the same.
>
> The android system that i built works correctly when i run it on the
> Emulator (../android-sdk-linux_86/tools/emulator -avd avd22 -
> system ....) where i can unlock the screen without problems, for
> example using the sendevent or using the artificial keyboard in the
> emulator.
>
> I tried to put the same fake battery properties in the init.rc for the
> board:
>
>     setprop status.battery.state Slow
>     setprop status.battery.level 5
>     setprop status.battery.level_raw  50
>     setprop status.battery.level_scale 9
>
> But nothing changed...
>
> So far, my conclusion is that the problem is probably related with the
> wakelocks and the lack of batteries or appropriate power management
> support for my board. The reason for thinking that is that in the
> Emulator, the messages that appear when i press the MENU key is just:
>
> D/KeyguardViewMediator(   61): pokeWakelock(5000)
>
> That is, no message related to set_screen_state as it happens in the
> board.
>
> In the kernel (android-2.6.32) i have selected a generic power driver
> because i dont have any battery and this options (of course, android
> drivers such IPC binder, low memory killer etc are enabled):
>
> CONFIG_POWER_SUPPLY=y
> CONFIG_PDA_POWER=y
> CONFIG_PM=y
> CONFIG_HAS_WAKELOCK=y
> CONFIG_HAS_EARLYSUSPEND=y
> CONFIG_WAKELOCK=y
> CONFIG_WAKELOCK_STAT=y
> CONFIG_USER_WAKELOCK=y
> CONFIG_EARLYSUSPEND=y
> CONFIG_CONSOLE_EARLYSUSPEND=y
>
> These are the error messages related to the batteries at
> initialization time:
>
> E/BatteryService(  702): acOnlinePath not found
> E/BatteryService(  702): usbOnlinePath not found
> E/BatteryService(  702): batteryStatusPath not found
> E/BatteryService(  702): batteryHealthPath not found
> E/BatteryService(  702): batteryPresentPath not found
> E/BatteryService(  702): batteryCapacityPath not found
> E/BatteryService(  702): batteryVoltagePath not found
> E/BatteryService(  702): batteryTemperaturePath not found
> E/BatteryService(  702): batteryTechnologyPath not found
> ...
> E/SurfaceFlinger(  702): Couldn't open /sys/power/wait_for_fb_sleep
> or /sys/power/wait_for_fb_wake
>
> NOTE: the last one and the ones about  usbOnlinePath,
> batteryVoltagePath and batteryTemperaturePath appear also in the
> emulator version
>
> Could somebody give me a hint of what should i do to make it work?
>
> Could it be related to the wakelocks and the fact that the device
> doesnt have batteries?
>
> Is there any way to fake the batteries without modifying the code of
> the KeyGuard java file?
>
> Note: in the emulator case, i can see some code related to power in
> hardware/libhardware_legacy/power/. Should i write something like
> that?
>
> Thanks in advance
> Daniel

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to