Как я могу использовать клавиатуру своего ПК в эмуляторе Android?

Я хочу запускать/тестировать приложения Android на эмуляторе Android, и я хочу печатать на клавиатуре своего ПК, так как это позволяет мне печатать и тестировать быстрее.

Однако когда я использую эмулятор, он принимает ввод только с родной (экранной) клавиатуры Android. Как включить клавиатуру ПК для использования в эмуляторе Android?

Моя клавиатура работает с настройками по умолчанию в экземпляре эмулятора. Есть ли у вас какие-либо дополнительные параметры, настроенные для вашего AVD? Какую ОС вы используете? Я не совсем уверен, что на это повлияет, но нам может понадобиться больше подробностей о вашей настройке.
Я не делал ничего особенного, кроме обычных настроек, и моя ОС Win7 32-битная.
Как сказал @eldareathis, по умолчанию ваша клавиатура должна работать в эмуляторе... Не уверен, что может заставить ее не работать .
изначально этот вопрос задавался в то время, когда я использовал Eclipse, и теперь большинство людей, включая меня, используют студию Android, и у меня больше нет этой проблемы, поэтому я должен просто закрыть этот вопрос?

Ответы (8)

У меня была такая же проблема после обновления инструментов разработчика (v20.0.0v2012...). Внезапно ни одно из моих виртуальных устройств Android не приняло никаких данных с моей физической клавиатуры ПК/Mac.

Вот как я это исправил:

  1. Затмение > Window menu>AVD Manager
  2. Выберите свое виртуальное устройство и нажмитеEdit
  3. В разделе HardwareнажмитеNew
  4. Выберите Keyboard Support, затем нажмитеOK
  5. Измените его значение наyes
  6. Теперь вам нужно щелкнуть другой элемент в списке, например «Абтрактировать плотность ЖК-дисплея» или что-то в этом роде. Кажется, это заставляет пользовательский интерфейс сохранить изменение «да».

Другие мои AVD, у которых нет этого аппаратного свойства «поддержка клавиатуры», НЕ принимают ввод с моей физической клавиатуры.

Похоже на ошибку для меня. Этот трюк работает.
У меня не работает, значение поддержки клавиатуры сбрасывается обратно на «нет» после сохранения и закрытия окна...
Джастин, в моем исходном посте упоминался шаг отключения, но какой-то болван (смотрящий на тебя, Flow или ce4) удалил эту информацию. После того, как вы измените на «да», нажмите на другой элемент в списке, и это, кажется, заставит пользовательский интерфейс запомнить настройку «да». Я обновил свой вырезанный пост с шагом 6. :-)

Пожалуйста, попробуйте следующие настройки. Моя среда (цель: Android 4.0.3 — уровень API 15) выполнена успешно.

AVD - Редактировать - Оборудование: - Новое... - Поддержка клавиатуры - да

AVD - Edit - Оборудование: - Новое... - Поддержка крышки клавиатуры - нет

Знаете ли вы способ включения во время работы эмулятора?
Что случилось с Keyboard lid support?

Вам нужно изменить config.iniфайл в вашем .androidкаталоге. Этот файл находится в главном каталоге жесткого диска.

Оттуда откройте avdфайл, и вы увидите список виртуальных устройств. Откройте нужное устройство, а затем откройте его config.iniв блокноте. Затем скопируйте этот текст: hw.keyboard = yesа затем сохраните и закройте. В следующий раз, когда вы откроете эмулятор, вы сможете использовать клавиатуру.

Вы также можете открыть hardware-qemu.iniфайл в том же каталоге, что и config.iniфайл, а затем увидеть список всех аппаратных опций. Измените hw.keyboardс noна yes.

Надеюсь это поможет!

Этот ответ предназначен для тех, кто собрал эмулятор из исходного кода (т.е. следуя инструкциям с source.android.com). Вам необходимо изменить свойство в следующем файле:

external/qemu/android/avd/hardware-properties.ini

В следующем разделе этого файла измените значение по умолчанию с нет на да:

# Keyboard support (qwerty/azerty)
name        = hw.keyboard<br/>
type        = boolean<br/>
default     = yes<br/>
abstract    = Keyboard support<br/>
description = Whether the device has a QWERTY keyboard.<br/>

Затем пересоберите (используя make). По крайней мере, это сработало для меня.

Это еще проще. Вы можете установить это свойство в диспетчере AVD: Добавьте ключ «клавиатура» со значением «да» в список свойств оборудования.

У меня была эта проблема, несмотря на правильную конфигурацию, и я понял, что реальная проблема заключалась в том, что фокус был на окнах кнопок управления эмулятором, как сообщалось в этом выпуске .

Чтобы проверить, является ли это вашей проблемой, посмотрите, действительно ли нажатие пробела нажимает одну из этих кнопок, и если нажатие табуляции перемещает квадрат фокуса выделения между элементами в элементах управления эмулятора. Если это проблема, то вы сможете обойти ее следующим образом:

  • Выберите расширенные элементы управления (кнопка "..." в элементах управления эмулятора)
  • Перейдите к любому элементу в окне расширенных элементов управления, щелкнув
  • Закройте окно расширенных элементов управления

Теперь фокус должен возвращаться к главному окну эмулятора Android, а не к элементам управления эмулятора, а нажатия клавиш должны переходить к приложениям Android.

Спасибо, что указали на эту проблему! Я использовал упомянутый обходной путь с ярлыком, выполняющим «xterm -e exit», чтобы вернуть фокус. Это быстрее, чем открывать и закрывать меню настроек. Проблема, похоже, связана с оконным менеджером xfce

Попробуйте Ctrl+ F11или NumPad 7. Это должно включить вашу клавиатуру, если она не отключена где-то еще.

я думал, что Ctrl + F11 - это книжная/альбомная ориентация?
Да Ctrl+F11 переключается между ориентациями и не включает клавиатуру, то же самое с цифровой клавиатурой 7
Да, он переключается между ориентацией, но также вызывает клавиатуру.
@slybloty Я говорю о том, чтобы включить клавиатуру моего ПК в эмуляторе, а не боковую клавиатуру в эмуляторе.
Я знаю, что это обременительно, но я бы посоветовал удалить и переустановить его, если вы еще этого не сделали.
@slybloty У меня уже есть последняя версия, и я только что установил ее.

Если вы используете Xamarin.Androidin Visual Studio 2010, вы можете включить Keyboard Supportследующее:

  1. Закройте свой AVD
  2. В VS2010 перейдите кTools > Start Android Emulator Manager
  3. Выберите тот AVD Name, который вы хотите добавить Keyboard Support, затем нажмите Editкнопку
  4. В Hardwareобласти нажмите Newкнопку
  5. В Propertyраскрывающемся списке выберите Keyboard support, затем нажмите OKкнопку
  6. Добавляется Keyboard support Propertyв Hardwareсписок. Изменить Valueс NoнаYes
  7. Нажмите Edit AVDкнопку

Скриншот окна «Редактировать виртуальное устройство Android»

Как указывалось здесь, клавиатура ПК должна быть включена для экземпляров эмулятора AVD. Судя по тому, что на странице эмулятора на веб-сайте Android Developer говорится о клавишных командах и т. д., похоже, не существует способа включить/отключить использование клавиатуры ПК в SDK. Лучше всего переустановить SDK и повторить попытку.

Я уже установил более новую версию SDK