Kibo
ดาวน์โหลด Download

macOS · เมนูบาร์ · ฟรี · โอเพนซอร์ส

macOS · Menu bar · Free · Open source

Kibo

ใครลืมเปลี่ยนภาษา · Who Forgot To Change Lang

Who Forgot To Change Lang · ใครลืมเปลี่ยนภาษา

พิมพ์ผิดภาษา? วางแล้วได้คืน

Fixes text typed with the wrong keyboard layout.

l;ylfu สวัสดี

ลืมเปลี่ยนภาษาแล้วพิมพ์ l;ylfu ทั้งที่ตั้งใจจะพิมพ์ สวัสดี? วางลงใน Kibo แล้วได้ข้อความที่ถูกต้องกลับมาทันที แปลงได้ทั้งไทย → อังกฤษ, อังกฤษ → ไทย หรือทั้งสองทางในครั้งเดียว

Type l;ylfu when you meant สวัสดี? Paste it in and get it back. Thai Kedmanee and US QWERTY, either direction — or both at once.

macOS 14 ขึ้นไป · Apple silicon และ Intel · MIT

macOS 14 or later · Apple silicon and Intel · MIT

ทำงานในเครื่องเท่านั้น · ไม่ใช้อินเทอร์เน็ต Local-only · No network

Kibo, a small pixel ghost, blinking Kibo, a small pixel ghost, blinking Kibo, a small pixel ghost, blinking

ทำไม

Why

ใครพิมพ์ไทยสลับอังกฤษก็เคยเจอ

Everyone who types Thai and English has done this.

พิมพ์ไปครึ่งประโยค แป้นยังเป็นภาษาไทยอยู่ hello เลยกลายเป็น ้ำสสน หรือกลับกัน ตั้งใจพิมพ์ สวัสดี แต่ได้ l;ylfu วิธีแก้เหมือนเดิมทุกครั้ง — เลือก ลบ สลับภาษา พิมพ์ใหม่ — และมันน่ารำคาญพอดี ๆ ทุกครั้ง

You are mid-sentence, the layout is still on Thai, and hello comes out as ้ำสสน. Or the other way: you meant สวัสดี and got l;ylfu. The fix is always the same — select, delete, switch, retype — and it is always just slightly too annoying.

เว็บแปลงข้อความมีอยู่แล้ว แต่มันส่งข้อความของคุณขึ้นเซิร์ฟเวอร์ และบ่อยครั้งข้อความนั้นคือรหัสผ่าน

Web converters exist. They send your text to a server. The text is, surprisingly often, a password.

สิ่งที่ทำได้

What it does

วางครั้งเดียว แปลงได้ทั้งสองทาง ไม่มีอะไรออกจากเครื่องคุณ

One paste. Both directions. Nothing leaves your Mac.

อยู่บนแถบเมนู ไม่ใช่แท็บเบราว์เซอร์

Menu bar, not a browser tab.

Kibo อยู่บนแถบเมนู ไม่มีไอคอนใน Dock คลิกผี วาง คัดลอก ปักหมุดหน้าต่างไว้ให้ลอยอยู่ขณะสลับไปวางในแอปอื่น

Kibo lives in the menu bar with no Dock icon. Click the ghost, paste, copy. Pin the window and it floats while you switch away to paste the result.

แก้ตรงที่พิมพ์

Fix it where it is.

เลือกข้อความที่พิมพ์ผิดในแอปไหนก็ได้ คลิกขวา → Services → Fix Layout with Kibo ข้อความจะถูกแทนที่ตรงนั้นเลย ไม่ต้องเปิดหน้าต่าง

Select the mistyped text in any app, right-click → Services → Fix Layout with Kibo, and it is replaced in place. No window at all.

ใช้คีย์บอร์ดล้วน ๆ

Keyboard all the way.

⇧⌘V วาง ⇧⌘C คัดลอก ⌘1⌘4 เปลี่ยนโหมด แปลงทันทีขณะพิมพ์

⇧⌘V paste, ⇧⌘C copy, ⌘1⌘4 to change mode. Everything converts as you type.

สี่โหมด

Four modes

เรียงตามที่ใช้บ่อย

Most-used first.

Kibo เปิดมาในโหมด Both และจำโหมดล่าสุดที่ใช้ ลองกดสลับโหมดดูได้เลย

Kibo opens in Both, and reopens in whatever mode you last used. Try the tabs.

Kibo
Input
vtwiot เพฟิ
Result
อะไรนะ grab
Local-only · No network

Both ⌘1แปลงทุกช่วงตามภาษาที่ปรากฏ — ไทยเป็นอังกฤษ อังกฤษเป็นไทย — ในครั้งเดียว สำหรับข้อความที่พิมพ์ผิดทั้งสองทาง (เปลี่ยนภาษากลางประโยค) Flips every run the way its own script implies, in one pass. The one for text mistyped in both directions — you switched layout mid-sentence, so half is wrong each way.

โหมด Mode คีย์ Key ทำอะไร What it does
Both ⌘1 แปลงทุกช่วงตามภาษาที่ปรากฏ — ไทยเป็นอังกฤษ อังกฤษเป็นไทย — ในครั้งเดียว สำหรับข้อความที่พิมพ์ผิดทั้งสองทาง (เปลี่ยนภาษากลางประโยค) Flips every run the way its own script implies, in one pass. The one for text mistyped in both directions — you switched layout mid-sentence, so half is wrong each way.
EN → TH ⌘2 ถือว่าทั้งข้อความคือแป้นอังกฤษที่พิมพ์ตอนเปิดแป้นไทย Treats the whole string as English keystrokes typed with the Thai layout on.
TH → EN ⌘3 กลับกัน The reverse.
Mixed ⌘4 แปลงเฉพาะช่วงที่ดูผิด ปล่อยข้อความที่ถูกต้อง ตัวเลข และเครื่องหมายไว้ตามเดิม Converts only the runs that look wrong. Leaves correct text, numbers and punctuation alone.

ตัวอย่าง (Mixed)

Example (Mixed)

l;ylfu ้ำสสน ครับ 2024 :) สวัสดี hello ครับ 2024 :)

ข้อแตกต่างที่ควรรู้: Both แปลงข้อความที่ถูกต้องด้วย (คุณเป็นคนตัดสิน) ส่วน Mixed จะไม่แตะข้อความที่ถูกอยู่แล้ว — ครับ ถูกอยู่แล้ว 2024 เป็นตัวเลข :) เป็นหน้ายิ้ม — แต่บางครั้งก็ปล่อยคำที่พิมพ์ผิดไว้เพราะไม่แน่ใจ

Note what didn't change. ครับ was already correct, 2024 is a number, :) is a smiley. That is the difference that matters: Both converts correct text too — you supply the judgement — while Mixed spares it, and will sometimes leave a mistyping alone rather than risk a correct word.

วิธีทำงาน

How it works

ไม่ใช้พจนานุกรม ไม่ใช้โมเดล ใช้กฎการสะกด

No dictionary. No model. Spelling rules.

การสะกดภาษาไทยมีโครงสร้างที่แน่นอน และการพิมพ์อังกฤษบนแป้นไทยทำให้กฎพังแทบทันที — สระลอยไปอยู่โดยไม่มีพยัญชนะให้เกาะ

Thai spelling has hard structural rules, and typing English on the Thai layout breaks them almost immediately — a vowel mark lands with no consonant to attach to.

"email" typed on the Thai layoutำทฟรส
                                      สระที่ไม่มีพยัญชนะให้เกาะ → แปลง
a vowel mark with nothing to hold onto → converted

ครับ                                  ทุกเครื่องหมายมีพยัญชนะ → ปล่อยไว้
every mark has a consonant → left alone

Mixed ถูกปรับให้ไม่ทำลายข้อความที่ถูกต้องเป็นอันดับแรก ซึ่งหมายความว่ามันจะพลาดบางคำ ข้อความผิดที่บังเอิญสะกดถูกตามกฎจะหลุดผ่านไป เช่น แนกำ (ซึ่งคือ "code") ไม่ผิดกฎไทยข้อไหน และ นา (ซึ่งคือ "ok") เป็นคำไทยจริง ๆ เมื่อ Mixed ปล่อยอะไรไว้ โหมดกลไกทั้งสามอยู่ห่างแค่ปุ่มเดียว

Mixed is tuned to never break correct text, which means it misses things. Wreckage that happens to be well-formed passes through: แนกำ (which was "code") breaks no rule, and นา (which was "ok") is a real Thai word. When Mixed leaves something alone, the mechanical modes are one keystroke away.

36 จาก 36 36 of 36

ข้อความที่ถูกต้องถูกปล่อยไว้ตามเดิม — ตัวย่อ URL พาธ โค้ด อังกฤษ ตัวเลข ไทย

correct strings left untouched — acronyms, URLs, paths, code, English, numbers, Thai

19 จาก 30 19 of 30

คำอังกฤษที่พิมพ์ผิดถูกแก้

English mistypings fixed

4 จาก 12 4 of 12

คำไทยที่พิมพ์ผิดถูกแก้

Thai mistypings fixed

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

The ordering is deliberate. Leaving a mistyping is recoverable — you see it and switch mode. Mangling text you typed correctly is not. All three numbers are asserted by a test that fails if any of them moves.

ความเป็นส่วนตัว

Privacy

บังคับด้วยระบบ ไม่ใช่แค่สัญญา

Enforced, not promised.

Kibo คือเครื่องมือแบบที่คนวางรหัสผ่านลงไป มันถูกสร้างบนสมมติฐานนั้น

Kibo is the kind of tool you paste a password into. It is built on that assumption.

  • ไม่ใช้เครือข่าย แอปทำงานใน macOS App Sandbox โดยไม่มีสิทธิ์เข้าถึงเครือข่าย เปิดการเชื่อมต่อไม่ได้เลย — เคอร์เนลปฏิเสธเอง No network. The app runs in the macOS App Sandbox with no network entitlement. It cannot open a connection; the kernel refuses.
  • แตะคลิปบอร์ดเฉพาะเมื่อคุณสั่ง อ่านตอนกด Paste เขียนตอนกด Copy ไม่เฝ้าดู และการคัดลอกถูกทำเครื่องหมายเป็น concealed และ transient เพื่อให้โปรแกรมจัดการคลิปบอร์ดไม่บันทึกประวัติ The clipboard is touched only when you ask. Read on Paste, written on Copy, never watched. Copies are marked concealed and transient, the flags clipboard managers honour to keep passwords out of their history.
  • ไม่เก็บสิ่งที่คุณพิมพ์ การตั้งค่ามีแค่ธีม ขนาดตัวอักษร และโหมดล่าสุด ไม่มีที่ให้เก็บข้อความ และปิดการกู้คืนหน้าต่างไว้ ข้อความจึงไปถึงดิสก์ทางนั้นไม่ได้เช่นกัน Nothing you type is stored. Preferences hold your theme, text size, and last mode. That's it. Window restoration is off, so the text cannot reach disk that way either.
  • ข้อจำกัดหนึ่งข้อ พูดตรง ๆ คลิกขวาในช่องข้อความจะได้เมนูมาตรฐานของ macOS ซึ่งมี Look Up และ Translate ที่ส่งข้อความที่เลือกไป Apple นั่นคือเมนูของระบบ ไม่ใช่ของ Kibo และ Kibo มองไม่เห็นมันด้วย One caveat, honestly. Right-clicking in a text field gives you the standard macOS menu, which includes Look Up and Translate — both send the selected text to Apple. Kibo neither uses nor can see that.

อ่านรายละเอียดความเป็นส่วนตัวฉบับเต็ม → Read the full privacy account →

Kibo

ภาษาที่ลืมเปลี่ยนคือผีที่สิงประโยคคุณ

The wrong layout was haunting your sentence.

Kibo คือผีบนแถบเมนู และตัวที่เกาะอยู่บนขอบช่องข้อความ มันกะพริบตาระหว่างรอ หลับตาหลังจากคัดลอก แล้วพูดว่า boo~ นั่นคือบุคลิกทั้งหมดของมัน และแค่นั้นก็พอแล้ว

Kibo is the ghost in the menu bar and the one perched on the input field. It blinks while it waits, shuts its eyes after a copy, and says boo~. That is the whole personality, and it is enough.

Kibo with its eyes shut, saying boo~ Kibo with its eyes shut, saying boo~ Kibo with its eyes shut, saying boo~

ดาวน์โหลด

Get it

ฟรี โอเพนซอร์ส MIT

Free. Open source. MIT.

macOS ไม่ยอมเปิด? วิธีเปิด macOS blocked it? How to open
  1. เปิดครั้งแรกไปก่อน ดับเบิลคลิก Kibo — ในกล่องข้อความ “can’t be opened” กด Done (ไม่ใช่ Move to Trash) Open it once anyway. Double-click Kibo — in the “can’t be opened” dialog, click Done (not Move to Trash).
  2. System Settings → Privacy & Security เลื่อนลงไปที่ข้อความ “Kibo” was blocked แล้วกด Open Anyway System Settings → Privacy & Security. Scroll down to the “Kibo” was blocked message and click Open Anyway.
  3. ยืนยัน ด้วย Touch ID หรือรหัสผ่าน แล้วกด Open หลังจากนั้น Kibo จะเปิดได้ตามปกติ Confirm. Authenticate with Touch ID or your password, then click Open. After this, Kibo launches normally.

Kibo ยังไม่ผ่าน notarization ของ Apple macOS จึงถามครั้งเดียวตอนเปิดครั้งแรก — ครั้งเดียวเท่านั้น

Kibo isn’t notarized yet, so Gatekeeper holds it on first launch — one time only.

คำถามที่พบบ่อย

Questions

ถามบ่อย ตอบสั้น

Asked often. Answered briefly.

ใช้ออฟไลน์ได้ไหม Does it work offline?

ใช้ได้แค่ออฟไลน์ ไม่มีโหมดออนไลน์

It only works offline. There is no online.

ทำไม Both ถึงเปลี่ยนข้อความที่ถูกอยู่แล้ว Why did Both change text that was already correct?

เพราะ Both แปลงทุกอย่างแบบกลไก คุณเป็นคนตัดสิน ถ้าอยากให้แตะเฉพาะส่วนที่ผิด ใช้ Mixed (⌘4) แต่อ่านข้อจำกัดด้านบนด้วย เพราะบางครั้ง Mixed จะปล่อยคำที่พิมพ์ผิดไว้ ดีกว่าเสี่ยงทำลายคำที่ถูกอยู่แล้ว

Because Both is mechanical: it flips every run, and you supply the judgement. Switch to Mixed (⌘4) if you want only the broken parts touched — and read the limits above, because Mixed will sometimes leave a mistyping alone rather than risk a correct word.

รองรับแป้นอื่นไหม Does it support other layouts?

เกษมณี ↔ US QWERTY เท่านั้น ยังไม่มีแผนสำหรับปัตตะโชติหรือแป้นอื่น ตารางปุ่มถูกดึงมาจากข้อมูลเลย์เอาต์ของ macOS เอง แป้นที่สองจึงเป็นการดึงข้อมูลอีกชุด ไม่ใช่การเขียนใหม่

Thai Kedmanee ↔ US QWERTY only. Pattachote and other layouts are not planned; the key table is dumped from macOS's own layout data, so a second layout is a second dump, not a rewrite.

Windows? Windows?

วางแผนไว้หลังจาก macOS นิ่ง Fixtures/conversion-cases.json คือสัญญาพฤติกรรมที่พอร์ตต้องผ่าน — 136 เคสเท่ากัน ตัวเลขความแม่นยำเท่ากัน

Planned after macOS is stable. Fixtures/conversion-cases.json is the behaviour contract a port has to pass — same 136 cases, same accuracy figures.

เกี่ยวกับ Tama ไหม Is it related to Tama?

เป็นพี่น้องกัน จานสีเดียวกัน งานพิกเซลแบบเดียวกัน แต่เป็นคนละแอป Tama เฝ้าดู Kibo แก้ให้

A sibling. Same palette, same pixel craft, separate apps. Tama watches; Kibo fixes.

ทำไมต้องเป็นผี Why a ghost?

เพราะภาษาที่ลืมเปลี่ยนก็คือผีที่สิงประโยคคุณ

Because that is what the wrong layout is.