วิธีเพิ่มเคอร์เซอร์ซ้าย/ขวาไปที่แถบนำทางระหว่างการป้อนข้อความบน Android O

บทช่วยสอนเกี่ยวกับวิธีแสดงปุ่มเคอร์เซอร์ซ้าย/ขวาบนแถบนำทางบน Android O เฉพาะเมื่อช่องป้อนข้อความทำงานอยู่เท่านั้น

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

อย่างไรก็ตามหากคุณกำลังใช้งาน ตัวอย่างนักพัฒนา Android O ซึ่งมีอันใหม่ เครื่องมือปรับแต่งแถบนำทาง ซ่อนอยู่ใต้ SystemUI Tuner จากนั้นคุณสามารถเพิ่มเคอร์เซอร์แป้นพิมพ์ซ้าย/ขวาลงในแถบนำทางของคุณได้ สิ่งที่คุณต้องทำคือตั้งค่าปุ่มแถบนำทางด้านซ้ายเป็น KEYCODE_DPAD_LEFT (#21) และปุ่มแถบนำทางด้านขวาเพื่อ KEYCODE_DPAD_RIGHT (#22). สำหรับไอคอนต่างๆ การใช้ไอคอนลูกศรซ้าย/ขวาที่เป็นค่าเริ่มต้นนั้นเหมาะสมที่สุด วิธีนี้ได้ผลแน่นอน ตามที่ชี้ให้เห็นโดย ตำรวจแอนดรอยด์, แต่มีตำหนิเพราะต้องวางกุญแจเหล่านี้ อย่างถาวร บนแถบนำทาง

ถ้า คุณได้รับกำลังติดตาม ของฉัน ก่อนหน้าบทช่วยสอน บนเครื่องมือปรับแต่งแถบนำทาง Android O คุณจะรู้ว่าเป็นไปได้ที่จะเปลี่ยนปุ่มแถบนำทางทั้งสองปุ่มตามเกณฑ์ที่เราต้องการ ดังนั้น เพื่อให้เคอร์เซอร์ป้อนข้อความ/แป้นพิมพ์ใหม่ของเราทราบบริบทมากขึ้น เราสามารถใช้ Tasker เพื่อ แสดงปุ่มเคอร์เซอร์ของแป้นพิมพ์เฉพาะในขณะที่การป้อนข้อความแสดงบน Android O เราจะให้คำแนะนำทีละขั้นตอนในบทช่วยสอนนี้ แต่คุณสามารถข้ามไปที่ด้านล่างเพื่อดาวน์โหลดโปรไฟล์เพื่อนำเข้าได้

ขอขอบคุณ Eli Irvin สำหรับการทดสอบโปรไฟล์ Tasker ของฉันและบันทึกภาพการบันทึกหน้าจอนี้!


แสดงเคอร์เซอร์ซ้าย/ขวาในแถบนำทางระหว่างการป้อนข้อความ

ความต้องการ:

  • ทาซเคอร์ ($2.99)
  • SecureTask
  • อินพุตอัตโนมัติเบต้า (~$1.70)

Tasker เป็นสิ่งที่จำเป็นเนื่องจากเป็นแอปอัตโนมัติที่เราใช้อยู่ ซึ่งเมื่อ AutoInput ตรวจพบช่องข้อความ จะส่งคำสั่งผ่านปลั๊กอิน SecureTask เพื่อเปลี่ยนแถบนำทางของเรา เมื่อคุณติดตั้งแอปพลิเคชันเหล่านี้แล้ว เราจำเป็นต้องตั้งค่าแอปพลิเคชันเหล่านี้

แม้ว่าจะไม่มีวิธีการโดยตรงในการตรวจจับเมื่อแป้นพิมพ์แสดงขึ้น แต่สิ่งหนึ่งที่เราสามารถตรวจสอบได้คือเมื่อช่องข้อความอยู่ในโฟกัส คุณจะทราบเมื่อช่องป้อนข้อความอยู่ในโฟกัสโดยสังเกตว่าเคอร์เซอร์กะพริบปรากฏขึ้นในกล่องข้อความ เราสามารถตรวจสอบสิ่งเหล่านี้ได้โดยใช้ AutoInput เวอร์ชันเบต้าล่าสุดซึ่งเพิ่งเปิดตัวเท่านั้น ซึ่งช่วยให้เราบรรลุเป้าหมายนี้ได้ เพื่อให้ AutoInput ตรวจสอบช่องข้อความ เราจำเป็นต้องเปิดใช้งานบริการการเข้าถึง

การดำเนินการดังกล่าวทำได้รวดเร็วมาก เพียงไปที่การตั้งค่า --> การเข้าถึง และมองหา "ป้อนข้อมูลอัตโนมัติ" ในรายการบริการ เปิดใช้งานบริการการเข้าถึง

ต่อไปเราต้องให้ SecureTask สามารถแก้ไขการตั้งค่าระบบบนอุปกรณ์ของเราได้ ในการทำเช่นนั้น เราต้องให้สิทธิ์พิเศษแก่ SecureTask ที่เรียกว่า WRITE_SECURE_SETTINGS ซึ่งก็คือ โดยปกติจะไม่สามารถเข้าถึงแอปพลิเคชันทั่วไปได้ แต่ผู้ใช้สามารถให้สิทธิ์ได้ด้วยตนเองผ่านการใช้ ADB ดังนั้นคุณจะต้องมี ADB และทำงานบนเครื่องของคุณเพื่อให้สิ่งนี้ทำงานได้ โชคดีที่การให้อนุญาตนี้ทำได้เพียงครั้งเดียวเท่านั้น ดังนั้นหากคุณวางแผนที่จะติดตามสิ่งใดๆ ของเรา คำแนะนำอื่น ๆ ที่เกี่ยวข้องกับ Android Oคุณจะต้องดำเนินการนี้ในที่สุด

การตั้งค่า ADB

สิ่งแรกที่คุณต้องทำคือดาวน์โหลดไบนารี ADB สำหรับระบบปฏิบัติการเฉพาะของคุณ คุณสามารถทำได้ที่นี่. เมื่อคุณดาวน์โหลดแล้ว คุณต้องแน่ใจว่าคุณมี ไดรเวอร์ที่เหมาะสม หากคุณใช้ Windows

เมื่อคุณแตกไฟล์ไบนารี่ไปยังโฟลเดอร์อื่นและติดตั้งไดรเวอร์แล้ว เราจำเป็นต้องเปิดใช้งานการแก้ไขจุดบกพร่อง USB บนสมาร์ทโฟนต่อไป โดยเปิดการตั้งค่าแล้วไปที่เกี่ยวกับโทรศัพท์ แตะที่หมายเลขบิลด์ 7 ครั้งจนกว่าคุณจะได้รับข้อความแจ้งว่าคุณได้ปลดล็อกตัวเลือกสำหรับนักพัฒนาแล้ว คุณสามารถเข้าถึงตัวเลือกนักพัฒนาได้ในการตั้งค่าทันที เห็นได้ชัดว่าใน Android O คุณต้องป้อน PIN/รหัสผ่านก่อนจึงจะสามารถเปิดตัวเลือกนักพัฒนาได้ ทำเช่นนั้นแล้วมองหา USB Debugging จากนั้นเปิดใช้งาน

ตอนนี้เสียบโทรศัพท์ของคุณแล้วเปิดพรอมต์คำสั่งในไดเร็กทอรีเดียวกับที่คุณแตกไบนารี ADB (ผู้ใช้ Windows ให้กด shift+คลิกขวาในโฟลเดอร์นั้นค้างไว้แล้วเลือก "open command prompt here") พิมพ์ adb devices ลงในพรอมต์คำสั่ง คุณจะเห็นข้อความแจ้งว่าเซิร์ฟเวอร์ ADB กำลังเริ่มทำงาน จากนั้นบนโทรศัพท์ของคุณ คุณจะเห็นข้อความแจ้งให้คุณอนุญาตการเข้าถึง ADB ของคอมพิวเตอร์ ยอมรับมัน. ตอนนี้เมื่อคุณเข้ามา adb devices ในพรอมต์คำสั่ง คุณควรเห็นหมายเลขซีเรียลของอุปกรณ์ของคุณ หากเป็นเช่นนั้น แสดงว่าคุณทำสำเร็จ

มอบ WRITE_SECURE_SETTINGS ให้กับ SecureTask

เมื่อเปิดพรอมต์คำสั่ง ADB ให้ป้อนคำสั่งต่อไปนี้เพื่อให้ SecureTask ได้รับอนุญาตที่จำเป็น

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

ตอนนี้ SecureTask จะมีความสามารถในการแก้ไขการตั้งค่าระบบโดยไม่ต้องเข้าถึงรูท! ตอนนี้เราพร้อมที่จะไปยังทาซเคอร์แล้ว

การตั้งค่าโปรไฟล์ทาซเคอร์

เปิด Tasker และสร้างโปรไฟล์ใหม่โดยกดปุ่ม + ตั้งชื่อมัน เคอร์เซอร์ของแป้นพิมพ์ และเลือก เหตุการณ์ บริบท. ไปที่ ปลั๊กอิน -> อินพุตอัตโนมัติ -> การกระทำของ UI. สำหรับประเภทการดำเนินการ ให้เลือก เน้นองค์ประกอบอินพุต และ โฟกัสองค์ประกอบอินพุตหายไป. ปล่อยให้ข้อความองค์ประกอบว่างไว้ การเพิ่มบริบทการป้อนอัตโนมัตินี้จะเริ่มบริการตรวจสอบของอินพุตอัตโนมัติเพื่อตรวจจับเมื่อมีการป้อนข้อความ ฟิลด์ได้รับหรือสูญเสียโฟกัส และเก็บไว้ในตัวแปรเป็นค่าบูลีน (จริง/เท็จ) ที่เราสามารถทำได้ อ่าน.

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

  1. A1: งาน -> ถ้า. ตั้งเป็น if %aifocus ~ true นี่จะเป็นเงื่อนไขของเราเมื่อการป้อนข้อมูลอัตโนมัติตรวจพบว่าช่องป้อนข้อความอยู่ในโฟกัส การดำเนินการสองรายการถัดไปจะตั้งค่าคีย์แถบนำทางเป็นคีย์ DPAD_LEFT และ DPAD_RIGHT
  2. A2: ปลั๊กอิน -> SecureTask -> การตั้งค่าความปลอดภัย. การกระทำ: เขียน. การตั้งค่า: secure sysui_nav_bar_left. ค่า: key(21:com.android/systemui/2131230907).
  3. A3: ปลั๊กอิน -> SecureTask -> การตั้งค่าความปลอดภัย. การกระทำ: เขียน. การตั้งค่า: secure sysui_nav_bar_right. ค่า: key(22:com.android/systemui/2131231004).
  4. A4: งาน -> อื่น ๆ. นี่คือเมื่อตั้งค่า %aifocus เป็น false เพื่อให้คำต่างๆ ช่องป้อนข้อความสูญเสียโฟกัส จากนั้นเราจะล้างปุ่มแถบนำทาง
  5. A5: ปลั๊กอิน -> SecureTask -> การตั้งค่าความปลอดภัย. การกระทำ: เขียน. การตั้งค่า: secure sysui_nav_bar_left. ค่า: null.
  6. A6: ปลั๊กอิน -> SecureTask -> การตั้งค่าความปลอดภัย. การกระทำ: เขียน. การตั้งค่า: secure sysui_nav_bar_right. ค่า: null.
  7. A7: งาน -> สิ้นสุดถ้า.

คุณใช้สคริปต์ Tasker นี้เสร็จแล้ว ในตอนนี้ การป้อนข้อมูลอัตโนมัติจะตรวจพบช่องป้อนข้อความที่อยู่ในโฟกัส (ซึ่งสัมพันธ์กับเวลาที่แป้นพิมพ์ของคุณอยู่) แสดง) คุณจะเห็นปุ่มเคอร์เซอร์แถบนำทางใหม่สองปุ่มที่จะหายไปเมื่อช่องป้อนข้อความไม่มีอีกต่อไป ในโฟกัส


ดาวน์โหลดและนำเข้า

เช่นเดียวกับบทช่วยสอนที่เกี่ยวข้องกับ Tasker เราจะจัดเตรียมไฟล์ XML ที่คุณสามารถดาวน์โหลดและนำเข้าได้ ดาวน์โหลดไฟล์ .prf.xml จาก AndroidFileHost ด้านล่าง และบันทึกลงในที่จัดเก็บข้อมูลภายในของคุณ เปิด Tasker แล้วกดแท็บโปรไฟล์ด้านบนค้างไว้จนกว่าคุณจะเห็นปุ่มนำเข้า แตะที่ไฟล์นั้นและค้นหาไฟล์ XML ที่คุณเพิ่งบันทึก จากนั้นเลือกไฟล์เพื่อนำเข้า ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานบริการการเข้าถึงของ AutoInput และได้รับสิทธิ์ WRITE_SECURE_SETTINGS ไปที่ SecureTask ตามที่กล่าวไว้ในบทความของฉัน ไม่เช่นนั้นโปรไฟล์นี้จะไม่ทำ อะไรก็ได้บนโทรศัพท์ของคุณ!

ดาวน์โหลดโปรไฟล์ "Keyboard Cursors" จาก AndroidFileHost

หากคุณสงสัยว่ามีปุ่มที่มีประโยชน์อื่นๆ ใดบ้างที่เราสามารถเพิ่มลงในแถบนำทางเพื่อทำให้ Android O เป็นประสบการณ์ที่สนุกสนานยิ่งขึ้น เราจะแสดงการตั้งค่าทางเลือกใน บทช่วยสอนในอนาคต.