Don Rhummy
Don Rhummy

Reputation: 25820

How enable physical keyboard on Emulator in Android Studio? (Used to work)

I'm not sure what changed but the physical keyboard from my computer no longer works for the emulator (running kitkat in Nexus 5, x86). When i look in AVD at the device's advanced settings, there's nothing for a hardware keyboard. Where is this setting?

Upvotes: 109

Views: 74512

Answers (5)

Edgar Froes
Edgar Froes

Reputation: 778

Quick script to do it automatically. Make sure to rename the emulator name part:

sed -i '' "s/hw.keyboard = no/hw.keyboard = yes/" $ANDROID_HOME/avd/[EMULATOR_NAME]/config.ini

Upvotes: 0

Amal p
Amal p

Reputation: 3042

UPDATE:

Change hw.keyboard = yes.

And make the file config.ini Read-only:

1.Right-click on the file open its settings.

2.Make every options on the permissions tab into Read-only(refer screenshot)

enter image description here

Trust me this will work it happens because this file gets rewritten,when we lock it out the bug disappears.

Upvotes: 8

Parvathy Nair
Parvathy Nair

Reputation: 961

Open and Navigate to Tools → Android → AVD Manager → Edit -> pencil icon)

enter image description here

Click on Show Advanced settings and scroll down and you can see the option Enable Keyboard input (example second image) Check that box and Click on Finish.

enter image description here

Upvotes: 62

carine
carine

Reputation: 1591

In the advanced settings of a virtual device in Android Studio 1.0.2 AVD Manager, there is actually a checkbox that allows to enable keyboard input without editing the config.ini by hand.

Tools → Android → AVD Manager → pencil icon (shown in picture) → Show Advanced Settings (scroll to bottom) → Enable Keyboard Input

enter image description here

Upvotes: 159

Don Rhummy
Don Rhummy

Reputation: 25820

Find the emulator's configuration in your home directory:

//Located in:
~/.android/avd/<The_Device_Name>/config.ini

For example, on the Nexus 5 (created by Android Studio), it was:

~/.android/avd/Nexus5.avd/config.ini

Change the below setting to be:

hw.keyboard=yes

Upvotes: 96

Related Questions