โปรแกรมช่วยนำเสนอ/สอนบน macOS — ซูมหน้าจอ · วาดทับหน้าจอ · ซูมสด · นาฬิกาจับเวลาพัก ทำงานคล้าย ZoomIt ของ Sysinternals เขียนด้วย Swift/AppKit ล้วน ไม่ต้องติดตั้งไลบรารีเพิ่ม เป็นแอปบนแถบเมนู (menu bar)
📄 คู่มือใช้งาน 1 หน้า (คีย์ลัดครบทุกโหมด · ปริ้นต์ได้): docs/guide.html
โหลดไฟล์ ZoomJor-x.x.dmg จาก หน้า Releases แล้ว
- ดับเบิลคลิกไฟล์
.dmg - ลากไอคอน ZoomJor ไปวางบนโฟลเดอร์ Applications ที่อยู่ข้าง ๆ
- เปิดโฟลเดอร์ แอปพลิเคชัน แล้วดับเบิลคลิก ZoomJor
⚠️ ครั้งแรกจะโดนบล็อก — ขึ้นว่า "Apple ตรวจสอบหามัลแวร์ไม่ได้" เพราะแอปเซ็นแบบ ad-hoc ยังไม่ได้ notarize กับ Apple (ต้องมีบัญชีนักพัฒนา $99/ปี)กด เสร็จสิ้น → ไปที่ การตั้งค่าระบบ → ความเป็นส่วนตัวและความปลอดภัย เลื่อนลงจะเห็นบรรทัด
"ZoomJor" ถูกบล็อก…→ กด เปิดอยู่ดี → ยืนยัน ทำครั้งเดียวจบ(macOS 15 ขึ้นไปย้ายขั้นตอนนี้มาที่การตั้งค่าระบบแล้ว — วิธีคลิกขวา → เปิด แบบเดิมใช้ไม่ได้)
ได้ของใหม่ล่าสุดและ ไม่ต้องปลดล็อก Gatekeeper เลย (แอปที่ build บนเครื่องตัวเองไม่ติด quarantine)
ต้องมี macOS 14 ขึ้นไป และ Command Line Tools (xcode-select --install ครั้งเดียวจบ)
git clone https://github.com/teacherarm-dotcom/zoomjor.git
cd zoomjor
./build.sh
ditto ZoomJor.app /Applications/ZoomJor.app
open /Applications/ZoomJor.appแอปไม่มีหน้าต่างและไม่มีไอคอนใน Dock — ไอคอนจะไปโผล่บนแถบเมนูด้านขวาบน
ครั้งแรกที่กด ⌃1 macOS จะขอสิทธิ์ การบันทึกหน้าจอ ให้อนุญาตแล้วเปิดแอปใหม่
💡 ถ้าไอคอนไม่ขึ้นบนแถบเมนู (แถบเมนูฝั่งขวาเต็ม) แอปยังทำงานปกติ — ใช้
⌃⌥Mเปิดเมนู และ⌃⌥Qปิดโปรแกรม
./make-dmg.shได้ ZoomJor-x.x.dmg พร้อมแจก (ข้างในมีแอป + ทางลัด Applications + ไฟล์วิธีติดตั้งภาษาไทย)
./video/build-video.sh # → video/build/ZoomJor-สอนการใช้งาน.mp4 (1920x1080 · พากย์ไทย)
./video/build-video.sh --preview # → ภาพตัวอย่างทุกฉากใน video/build/preview/- ฉาก ZoomJor ทุกโหมดวาดด้วย โค้ดจริงของแอป (
OverlayView/LiveZoomView) — แก้หน้าตาแอปแล้วสั่งสร้างใหม่ วิดีโอตามทันที - ฉากติดตั้ง/การตั้งค่าระบบใช้ภาพหน้าจอจริงใน
video/captures/(ไม่อยู่ใน repo เพราะมีข้อมูลส่วนตัว) - เสียงพากย์ =
say -v Kanya· สคริปต์ทั้งหมดอยู่ในvideo/tool/main.swift· ไม่ต้องติดตั้ง ffmpeg (ใช้ AVFoundation)
./Tests/run.sh| ไฟล์ | ใช้เป็น |
|---|---|
Resources/AppIcon.icns |
ไอคอนแอป (Finder / Dock / About) |
Resources/MenuBarIcon.pdf หรือ .png |
ไอคอนบนแถบเมนู — ควรเป็นขาวดำพื้นโปร่งใส ~18×18 pt (macOS จะย้อมสีตามธีมให้เอง) |
ตอนนี้ใช้ไอคอนจาก zoomjor icon.png แล้ว · ถ้าจะเปลี่ยนใหม่ ให้แปลงเป็น .icns ด้วย:
./make-icon.sh ~/Desktop/zoomjor-1024.pngแล้วสั่ง ./build.sh ใหม่ ถ้าไม่ใส่ไฟล์ไอคอน โปรแกรมจะใช้สัญลักษณ์แว่นขยายของระบบแทน
ครั้งแรกที่ใช้ โหมดซูม (⌃1) หรือ ซูมสด (⌃4) macOS จะขอสิทธิ์ การบันทึกหน้าจอ (Screen Recording) อนุญาตที่ การตั้งค่าระบบ → ความเป็นส่วนตัวและความปลอดภัย → การบันทึกหน้าจอ แล้วเปิดแอปใหม่ (โหมดวาด ⌃2 ใช้ได้เลยโดยไม่ต้องขอสิทธิ์)
คีย์ลัดทุกตัวอ่านจาก ตำแหน่งปุ่มจริง (key code) ไม่ใช่ตัวอักษรที่พิมพ์ออกมา สลับแป้นพิมพ์เป็นภาษาไทยค้างอยู่ก็กดได้ตามปกติ ไม่ต้องสลับกลับเป็นอังกฤษ
ปุ่มที่เขียนว่า
R= ปุ่มเดียวกับพ·A= ปุ่มเดียวกับฟ·U= ปุ่มเดียวกับีรวมถึงตัวเลขตั้งเวลาในโหมดนาฬิกาด้วย
พอเข้าโหมดใด ๆ จะมีแถบลอยกลางจอด้านบน กดเลือกได้ทั้งหมด:
ลูกศร · ปากกา · เส้นตรง · สี่เหลี่ยม · วงรี · ไฮไลต์ · ข้อความ │ สี 8 สี │ ↶ ย้อนกลับ · ↷ ทำซ้ำ · 🗑 ลบทั้งหมด │ ✕ ออก
ชี้ค้างที่ปุ่มจะขึ้นชื่อปุ่มให้ · กด D เพื่อซ่อน/แสดงแถบ
| วิธี | หมายเหตุ |
|---|---|
⌫ (Backspace) |
สั้นที่สุด กดรัวได้ |
⌘Z |
มาตรฐาน macOS |
U |
ปุ่มเดียว |
ปุ่ม ↶ บนแถบเครื่องมือ |
ใช้เมาส์ล้วน |
ทำซ้ำ = ⇧⌘Z · ลบทั้งหมด = E หรือ ⌘⌫ — การลบทั้งหมดย้อนกลับได้ด้วย (เก็บย้อนหลังได้ถึง 300 ขั้น)
| คีย์ | โหมด |
|---|---|
⌃1 |
ซูม — แช่หน้าจอแล้วขยาย + วาดทับได้ |
⌃2 |
วาด — วาดทับหน้าจอสด ๆ |
⌃3 |
นาฬิกาจับเวลาถอยหลัง — หน้าจอพักเบรก |
⌃4 |
ซูมสด (Live zoom) — ขยายภาพจริงแบบเรียลไทม์ ใช้แอปข้างล่างต่อได้ |
⌃5 |
เมาส์ใหญ่ + เอฟเฟกต์คลิก — เปิด/ปิด ใช้ได้ทุกแอป |
กดคีย์เดิมซ้ำ = ออกจากโหมด
| คีย์ | ทำอะไร |
|---|---|
| เลื่อนเมาส์ | ส่องภาพตามตำแหน่งเมาส์ |
สกอร์ล / + - / ↑ ↓ |
ขยาย–ย่อ (1×–16×) |
0 |
กลับไป 100% |
| คลิกลาก | เริ่มวาด (ภาพจะล็อกอัตโนมัติ) |
Tab |
สลับล็อก/ปลดล็อกการแพนตามเมาส์ |
← → |
เลื่อนภาพซ้าย–ขวา |
Esc / คลิกขวา |
ออก |
ขยายภาพหน้าจอ แบบเรียลไทม์ ต่างจาก ⌃1 ตรงที่ไม่แช่ภาพ และ คลิก/พิมพ์ทะลุลงไปยังแอปข้างล่างได้ตามปกติ จุดที่อยู่ใต้เคอร์เซอร์จะถูกตรึงไว้กับที่ — คลิกตรงไหนก็โดนตรงนั้นจริง
| คีย์ / ปุ่ม | ทำอะไร |
|---|---|
⌃⌥↑ หรือ ⌃⌥= |
ขยาย |
⌃⌥↓ หรือ ⌃⌥- |
ย่อ |
⌃⌥0 |
กลับ 200% |
| แถบลอยด้านบนจอ | ปุ่ม − + และ ✕ (กดได้โดยไม่แย่งโฟกัสจากแอปที่ใช้อยู่) |
⌃4 |
ปิด |
คีย์
⌃⌥…จะถูกจองเฉพาะตอนซูมสดทำงาน แล้วคืนให้ระบบเมื่อปิด
เมาส์ตัวใหญ่มีวงแสงเหลืองล้อม ผู้ชมมองเห็นง่ายตอนสอน/แชร์จอ และ ทุกครั้งที่คลิกจะมีวงกระเพื่อม (คลิกซ้าย = แดง · คลิกขวา = น้ำเงิน · ปุ่มกลาง = เขียว) — คลิกทะลุใช้งานแอปข้างล่างได้ตามปกติ
| เมนู "ตั้งค่าเมาส์" | ทำอะไร |
|---|---|
| ขนาดเมาส์ 2× / 3× / 4× | ค่าเริ่มต้น 3× |
| วงแสงเหลืองรอบเมาส์ | เปิด/ปิด |
| เอฟเฟกต์ตอนคลิก | เปิด/ปิด |
- จำค่าไว้ เปิดโปรแกรมครั้งหน้ายังเปิดอยู่ · ไม่ต้องขอสิทธิ์เพิ่ม
- ติดไปในโปรแกรมอัดจอ/แชร์จอ (ตั้งใจ) แต่ไม่ติดลงภาพแช่ของ ⌃1
- ระหว่างโหมดวาด/ซูม/นาฬิกา (⌃1–⌃3) เมาส์ใหญ่จะพักไว้ เพราะโหมดนั้นมีเคอร์เซอร์ของตัวเอง
- macOS ไม่ให้แอปขยายเคอร์เซอร์ของระบบ จึงวาดเมาส์ใหญ่ซ้อนไว้ใต้เมาส์จริง ปลายตรงกันพอดี (ตอนเมาส์จริงเปลี่ยนเป็นรูปมือ/ตัว I เมาส์ใหญ่ยังเป็นลูกศร)
หน้าจอพักเบรกเต็มจอ พื้นหลังเป็นภาพหน้าจอที่เบลอ + หรี่แสง พร้อมวงแหวนนับถอยหลัง และบอกเวลาที่จะกลับมาต่อ เมื่อหมดเวลาจะมีเสียงเตือนและตัวเลขกะพริบสีแดง
| คีย์ | ทำอะไร |
|---|---|
Space |
หยุด / เดินเวลาต่อ |
↑ ↓ |
±1 นาที |
← → |
±10 วินาที |
พิมพ์ตัวเลข + Enter |
ตั้งเวลาใหม่ (นาที) |
⌘R |
เริ่มนับใหม่ |
D |
เปิด/ปิดแถบเครื่องมือ |
Esc |
ออก |
ตั้ง เวลาพักเริ่มต้น ได้จากเมนูบนแถบเมนู (จำค่าไว้ให้) และยังวาดลูกศร/ข้อความทับหน้าจอพักได้ด้วย
| คีย์ | สี |
|---|---|
r |
แดง |
g |
เขียว |
y |
เหลือง |
k |
ดำ |
b |
น้ำเงิน |
w |
ขาว |
o |
ส้ม |
m |
ชมพู |
| คีย์ | เครื่องมือ |
|---|---|
a |
ลูกศร |
p |
ปากกาวาดอิสระ (ค่าเริ่มต้น) |
l |
เส้นตรง |
s |
สี่เหลี่ยม |
c |
วงรี |
h |
ปากกาไฮไลต์ (โปร่งแสง) |
t |
ข้อความ — คลิกแล้วพิมพ์, Enter/Esc จบ |
ทางลัดขณะลาก (ไม่ต้องเปลี่ยนเครื่องมือ): ⇧ ค้าง = ลูกศร · ⌃⇧ ค้าง = สี่เหลี่ยม · ⌥ ค้าง = บังคับมุม 45° / จัตุรัส
| คีย์ | ทำอะไร |
|---|---|
[ ] |
ลด/เพิ่มขนาดเส้น (1–60) |
⌫ / ⌘Z / U |
ย้อนกลับ (รวมถึงย้อนการลบทั้งหมด) |
⇧⌘Z |
ทำซ้ำ |
E / ⌘⌫ |
ลบภาพวาดทั้งหมด |
⌘S |
บันทึกเป็น PNG ลง Desktop |
⌘C |
คัดลอกภาพลงคลิปบอร์ด |
? |
แสดง/ซ่อนตารางคีย์ลัดบนจอ |
D |
ซ่อน/แสดงแถบเครื่องมือ + แถบสถานะ |
z |
(ในโหมดวาด) แช่หน้าจอแล้วซูมต่อ โดยเก็บภาพวาดเดิมไว้ |
⌘Q |
ปิดโปรแกรม |
- ทำงานบน จอที่เมาส์อยู่ ขณะกดคีย์ลัด (รองรับหลายจอ ทีละจอ)
- ภาพวาดเก็บเป็นพิกัดของหน้าจอ จึง เกาะตำแหน่งเดิมเมื่อซูม/เลื่อน
- ภาพที่แช่ไว้จับที่ความละเอียด Retina เต็ม ซูมแล้วยังคมชัด
- คีย์ลัดจองผ่าน Carbon
RegisterEventHotKeyจึง ไม่ต้องขอสิทธิ์ Accessibility - ถ้าแอปอื่นจอง
⌃1–⌃5ไว้ จะมีแจ้งเตือนตอนเปิด — สั่งงานผ่านเมนูบนแถบเมนูแทนได้
MIT License — © 2026 Thanasarn Rujira
ใช้ ทำสำเนา แก้ไข รวมเข้ากับงานอื่น เผยแพร่ หรือขายต่อได้อย่างอิสระ เพียงคงข้อความลิขสิทธิ์และสัญญาอนุญาตไว้ในสำเนาที่แจกจ่าย · ให้ไว้ตามสภาพ ไม่มีการรับประกันใด ๆ
