2 คะแนน โดย unstabler 4 시간 전 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp

ภาพหน้าจอ (Twitter / X)

ผมกำลังสร้างแอประยะไกลสำหรับ macOSอยู่ และจากประสบการณ์ที่ได้ในระหว่างนั้น ก็เลยลองทำแอปชื่อ 'Sejong98' ที่ช่วยให้สามารถสลับภาษาเกาหลี/อังกฤษด้วยปุ่ม Option / Command ขวาได้

ฟีเจอร์

  • สามารถกำหนดแอ็กชัน 'สลับเกาหลี/อังกฤษ', 'เปลี่ยนเป็นการพิมพ์เกาหลี', 'เปลี่ยนเป็นการพิมพ์อังกฤษ' ให้กับปุ่มด้านล่างนี้ได้

    • Command ขวา
    • Option ขวา
    • Shift + Sapce
  • ฟีเจอร์สำหรับผู้ใช้ Vim: มีความสามารถในการเปลี่ยนเป็นการพิมพ์อังกฤษเมื่อกดปุ่ม Escape

ทำไมที่ผ่านมาโปรแกรมต่าง ๆ จึงไม่สามารถสลับเกาหลี/อังกฤษได้? / แล้วแอปนี้แก้ปัญหานี้อย่างไร?

macOS สามารถสลับภาษาสำหรับการป้อนได้ผ่าน API ตระกูล TISSelectInputSource() ที่มีอยู่ในเฟรมเวิร์กชื่อ HIToolbox

อย่างไรก็ตาม API เหล่านี้จริง ๆ แล้วอยู่ในกลุ่ม Carbon API ตั้งแต่ยุคคลาสสิกของ Mac OS และในปัจจุบันดูเหมือนจะไม่ได้รับการบำรุงรักษาแล้ว ทำให้เมื่อเรียก API นี้ การสลับภาษาไปยังเกาหลี/จีน/ญี่ปุ่นทำงานแทบจะใกล้เคียงกับการสุ่ม บางครั้งก็พิมพ์เกาหลีได้ บางครั้งก็พิมพ์อังกฤษได้ ... ในลักษณะนี้

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

ใน Sejong98 จะสร้างหน้าต่างว่างขนาด 1x1 ที่มองไม่เห็นไว้ และเมื่อมีการกดปุ่ม Command ขวา ก็จะย้ายโฟกัสไปที่หน้าต่างว่างนั้นให้เร็วที่สุด แล้วจึงกลับมายังแอปเดิม วิธีนี้ทำให้แม้กรอบหน้าต่างจะกะพริบชั่วครู่ แต่การสลับเกาหลี/อังกฤษจะสำเร็จเสมอ

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น