ฉันจะใช้แป้นพิมพ์ของพีซีบนตัวจำลอง Android ได้อย่างไร


137

ฉันต้องการเรียกใช้ / ทดสอบแอพ Android บนตัวเลียนแบบ Android และฉันต้องการพิมพ์โดยใช้แป้นพิมพ์ PC เพราะมันช่วยให้ฉันพิมพ์และทดสอบเร็วขึ้น เมื่อฉันใช้อีมูเลเตอร์มันก็ยอมรับเฉพาะการป้อนข้อมูลจากแป้นพิมพ์ Android (บนหน้าจอ) เท่านั้น ฉันจะเปิดใช้งานแป้นพิมพ์ PC ของฉันเพื่อใช้ภายในตัวจำลอง Android ได้อย่างไร


1
แป้นพิมพ์ของฉันใช้งานได้กับการตั้งค่าเริ่มต้นในอินสแตนซ์จำลอง คุณมีการตั้งค่าขั้นสูงสำหรับ AVD ของคุณหรือไม่ คุณใช้ระบบปฏิบัติการอะไร ฉันไม่แน่ใจว่าสิ่งใดจะมีผลกับสิ่งนี้ แต่เราอาจต้องการรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าของคุณ
eldarerathis

ฉันไม่ได้ทำสิ่งใดเป็นพิเศษนอกเหนือจากการตั้งค่าปกติและระบบปฏิบัติการของฉันคือ Win7 32 บิต
Hafiz

1
ตามที่ @eldareathis กล่าวตามค่าเริ่มต้นแป้นพิมพ์ของคุณควรทำงานในอีมูเลเตอร์ ... ไม่แน่ใจว่าอะไรจะทำให้มันใช้งานไม่ได้
Bryan Denny

แต่เดิมคำถามนี้ตามที่ถามในตอนที่ฉันใช้ Eclipse และตอนนี้คนส่วนใหญ่รวมถึงฉันใช้ Android studio และฉันไม่มีปัญหานี้อีกแล้วฉันควรจะปิดคำถามนี้หรือไม่
ฮาฟิซ

คำตอบ:


119

ฉันมีปัญหาเดียวกันหลังจากอัปเกรดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ (v20.0.0v2012 ... ) ทั้งหมดในทันทีไม่มีอุปกรณ์เสมือน Android ของฉันจะยอมรับการป้อนข้อมูลใด ๆ จากแป้นพิมพ์ PC / Mac ของฉัน

นี่คือวิธีที่ฉันแก้ไขมัน:

  1. Eclipse Window menu>>AVD Manager
  2. เลือกอุปกรณ์เสมือนของคุณและคลิก Edit
  3. ภายใต้HardwareคลิกNew
  4. เลือกKeyboard Supportจากนั้นคลิกOK
  5. แก้ไขค่าเป็น yes
  6. ตอนนี้คุณต้องคลิกไปยังรายการอื่นในรายการเช่น "Abtract LCD Density" หรือบางอย่าง ดูเหมือนว่าจะทำให้ UI คงการเปลี่ยนแปลง "ใช่"

AVD อื่นของฉันที่ไม่มีคุณสมบัติฮาร์ดแวร์ "สนับสนุนแป้นพิมพ์" นี้ไม่ยอมรับอินพุตแป้นพิมพ์จริงของฉัน


3
ดูเหมือนว่าข้อผิดพลาดสำหรับฉัน เคล็ดลับนี้ใช้ได้ผล
Kumar Bibek

2
ใช้งานไม่ได้สำหรับฉันค่าสนับสนุนแป้นพิมพ์จะรีเซ็ตกลับเป็น "ไม่" หลังจากบันทึกและปิดหน้าต่าง ...
Justin

1
Justin โพสต์ต้นฉบับของฉันพูดถึงขั้นตอนการคลิกออก แต่หุ่นบางตัว (ดูคุณ Flow หรือ ce4) ลบข้อมูลนั้น หลังจากที่คุณเปลี่ยนเป็นการคลิก "ใช่" ไปยังรายการอื่นในรายการและสิ่งนี้ทำให้ UI จำการตั้งค่า "ใช่" ฉันอัปเดตโพสต์ที่ถูกทำลายด้วยขั้นตอนที่ 6 :-)
Chris Smith

19

โปรดลองการตั้งค่าต่อไปนี้ สภาพแวดล้อมของฉัน (เป้าหมาย: Android 4.0.3 - API ระดับ 15) สำเร็จ

AVD - แก้ไข - ฮาร์ดแวร์: - ใหม่ ... - รองรับคีย์บอร์ด - ใช่

AVD - แก้ไข - ฮาร์ดแวร์: - ใหม่ ... - รองรับฝาคีย์บอร์ด - ไม่


คุณรู้วิธีเปิดใช้งานในขณะที่อีมูเลเตอร์ทำงานหรือไม่?
jcollum

1
เกิดอะไรขึ้นกับKeyboard lid support?
KevinOrr

8

คุณต้องเปลี่ยนไฟล์ config.ini ในไดเรกทอรี. android ของคุณ ไฟล์นี้อยู่ในไดเรกทอรีฮาร์ดไดรฟ์หลัก จากตรงนั้นให้เปิดไฟล์ avd แล้วคุณจะเห็นรายการอุปกรณ์เสมือน เปิดอุปกรณ์ที่ต้องการแล้วเปิด config.ini ในแผ่นจดบันทึก จากนั้นคัดลอกข้อความนี้: "hw.keyboard = ใช่" (ลบเครื่องหมายคำพูด) แล้วบันทึกและปิด ครั้งต่อไปที่คุณเปิดโปรแกรมจำลองคุณควรจะสามารถใช้แป้นพิมพ์ได้

คุณยังสามารถเปิดไฟล์ hardware-qemu.ini ในไดเรกทอรีเดียวกันกับ config.ini จากนั้นคุณจะเห็นรายการตัวเลือกฮาร์ดแวร์ทั้งหมด เปลี่ยน hw.keyboard จาก "no" เป็น "ใช่"

หวังว่านี่จะช่วยได้!


6

คำตอบนี้สำหรับผู้ที่สร้างตัวจำลองจากแหล่งที่มา (เช่นคำแนะนำต่อไปนี้จาก 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/>

จากนั้นสร้างใหม่ (ใช้ยี่ห้อ) อย่างน้อยก็ใช้งานได้สำหรับฉัน


1
มันง่ายยิ่งขึ้น คุณสามารถตั้งค่าคุณสมบัตินี้ในตัวจัดการ AVD: เพิ่มคีย์ 'แป้นพิมพ์' ด้วยค่า 'ใช่' ในรายการคุณสมบัติฮาร์ดแวร์
ce4

4

ฉันมีปัญหานี้แม้จะมีการกำหนดค่าที่ถูกต้องและตระหนักว่าปัญหาที่แท้จริงคือการโฟกัสอยู่ที่หน้าต่างปุ่มควบคุมตัวจำลองตามที่รายงานในปัญหานี้

ในการตรวจสอบว่านี่เป็นปัญหาของคุณหรือไม่ให้ดูว่าการกด space กดปุ่มใดปุ่มหนึ่งจริง ๆ หรือไม่และหากแท็บที่เลื่อนจะทำการเลื่อนโฟกัสสี่เหลี่ยมจัตุรัสระหว่างองค์ประกอบต่างๆในตัวควบคุมอีมูเลเตอร์ หากเป็นปัญหาคุณควรหลีกเลี่ยงปัญหาดังต่อไปนี้:

  • เลือกส่วนควบคุมเพิ่มเติม (ปุ่ม "... " ในส่วนควบคุมอีมูเลเตอร์)
  • เปลี่ยนเป็นรายการใดก็ได้ในหน้าต่างตัวควบคุมแบบขยายโดยคลิก
  • ปิดหน้าต่างตัวควบคุมแบบขยาย

โฟกัสควรกลับไปที่หน้าต่างหลักของ Android emulator ไม่ใช่ตัวควบคุมอีมูเลเตอร์และการกดปุ่มควรไปที่แอพ Android


2
ขอบคุณสำหรับการชี้ไปที่ปัญหานั้น! ฉันใช้วิธีแก้ปัญหาที่กล่าวถึงที่นั่นพร้อมกับทางลัดที่เรียกใช้งาน "xterm -e exit" เพื่อให้ได้รับการโฟกัสกลับ เร็วขึ้นจากนั้นเปิดและปิดเมนูการตั้งค่า ปัญหาดูเหมือนจะเกี่ยวข้องกับตัวจัดการหน้าต่าง xfce
WarrenFaith

0

ตามที่ระบุไว้ที่นี่ควรเปิดใช้งานแป้นพิมพ์ PC สำหรับอินสแตนซ์ AVD Emulator ตัดสินจากสิ่งที่หน้าอีมูเลเตอร์ในนักพัฒนา Android กล่าวเกี่ยวกับคำสั่งที่สำคัญและไม่ปรากฏว่ามีวิธีการเปิด / ปิดการใช้งานคีย์บอร์ด PC ภายใน SDK ทางออกที่ดีที่สุดของคุณคือติดตั้ง SDK ใหม่แล้วลองอีกครั้ง


ฉันติดตั้ง sdk เวอร์ชันใหม่กว่าแล้ว
Hafiz

0

ลองCtrl+ F11หรือ 7NumPad ที่ควรเปิดใช้งานแป้นพิมพ์ของคุณยกเว้นว่าถูกปิดการใช้งานจากที่อื่น


4
ฉันคิดว่า Ctrl + F11 เป็นแนวตั้ง / แนวนอน?
jlehenbauer

ใช่ Ctrl + F11 สลับระหว่างทิศทางและไม่เปิดใช้งานแป้นพิมพ์เหมือนกับ numpad 7
Hafiz

ใช่มันสลับไปมาระหว่างการวางแนว แต่ก็ยังเปิดแป้นพิมพ์ขึ้น
slybloty

@slybloty ฉันกำลังพูดถึงการเปิดใช้งานแป้นพิมพ์ของพีซีของฉันในโปรแกรมจำลองไม่ใช่แป้นด้านข้างในโปรแกรมจำลองการทำงาน
Hafiz

@Hafiz คุณแก้ไขปัญหานี้แล้วหรือยัง? ถ้าเป็นเช่นนั้นได้อย่างไร
slybloty

0

หากคุณกำลังใช้Xamarin.Androidใน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"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.