0
0
Lập trình
Hưng Nguyễn Xuân 1
Hưng Nguyễn Xuân 1xuanhungptithcm

🧹 Cách Tạm Thời Vô Hiệu Hóa Bàn Phím Mac Để Vệ Sinh

Đăng vào 1 tháng trước

• 4 phút đọc

Giới thiệu

Chúng ta đều đã từng trải qua tình huống này — khi bạn bắt đầu vệ sinh bàn phím MacBook và bỗng dưng hàng loạt cửa sổ ngẫu nhiên mở ra, tin nhắn được gõ và thậm chí có thể xuất hiện một vài hộp thoại hệ thống. 😅

Liệu có phải sẽ thật tuyệt nếu bạn có thể khóa tạm thời bàn phím trong khi bạn vệ sinh — và sau đó mở khóa chỉ với một lệnh?

Tin tốt là bạn có thể làm điều đó. Trong bài viết này, tôi sẽ hướng dẫn bạn một giải pháp an toàn, có thể khôi phục lại, chỉ bằng mã lệnh mà hoạt động trên macOS mà không cần cài đặt lại driver hay can thiệp vào các tệp hệ thống.

🚀 Tại Sao Không Chỉ Tắt Nguồn?

Một số người sẽ tắt máy Mac của họ, nhưng:

  • Điều đó làm gián đoạn quy trình làm việc của bạn.
  • Bạn không thể nhìn thấy các vết bẩn một cách rõ ràng khi màn hình tắt.
  • Và, hãy thành thật — chúng ta đều thích những mẹo nhanh chóng.

Phương pháp này cho phép bạn chỉ vô hiệu hóa bàn phím (trong khi vẫn giữ cho Mac hoạt động), vì vậy bạn có thể lau bụi, vụn thức ăn và dấu vân tay mà không lo lắng về những lần nhấn phím không mong muốn.

🛠️ Mẹo: Chặn Tất Cả Sự Kiện Phím Bằng Python

Chúng ta sẽ sử dụng một đoạn mã Python nhỏ với API Quartz Event Taps của Apple (thông qua PyObjC).
Khi chạy, đoạn mã này sẽ chặn tất cả các sự kiện phím và đơn giản là bỏ qua chúng.

👉 Dừng đoạn mã, và bàn phím của bạn sẽ trở lại ngay lập tức.

📦 Bước 1 — Cài Đặt Thư Viện Phụ Thuộc

Mở Terminal và cài đặt bridge Quartz:

bash Copy
python3 -m pip install --user pyobjc-framework-Quartz

📄 Bước 2 — Lưu Đoạn Mã

Tạo một tệp có tên disable_keyboard.py:

python Copy
#!/usr/bin/env python3
# Vô hiệu hóa bàn phím Mac trong khi vệ sinh
# Chạy: python3 disable_keyboard.py
# Dừng: Ctrl+C hoặc kết thúc tiến trình

from Quartz import (
    CGEventTapCreate, kCGHIDEventTap, kCGHeadInsertEventTap,
    kCGEventTapOptionDefault, kCGEventKeyDown, kCGEventKeyUp,
    kCGEventFlagsChanged, CGEventTapEnable
)
from Quartz import CFRunLoopGetCurrent, CFMachPortCreateRunLoopSource, CFRunLoopAddSource, CFRunLoopRun

def tap_callback(proxy, type_, event, refcon):
    return None  # Chặn mọi sự kiện phím

mask = (1 << kCGEventKeyDown) | (1 << kCGEventKeyUp) | (1 << kCGEventFlagsChanged)
tap = CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, kCGEventTapOptionDefault, mask, tap_callback, None)

if not tap:
    print("⚠️ Cần quyền truy cập! Bật nó trong Cài đặt Hệ thống > Quyền riêng tư & Bảo mật > Truy cập.")
    exit(1)

source = CFMachPortCreateRunLoopSource(None, tap, 0)
CFRunLoopAddSource(CFRunLoopGetCurrent(), source, 0)
CGEventTapEnable(tap, True)

print("🧹 Bàn phím đã được vô hiệu hóa. Hãy vệ sinh! Nhấn Ctrl+C để khôi phục.")
CFRunLoopRun()

🔑 Bước 3 — Cấp Quyền Truy Cập

Khi chạy lần đầu tiên, macOS sẽ chặn đoạn mã trừ khi bạn cấp quyền:

  • Vào Cài đặt Hệ thống → Quyền riêng tư & Bảo mật → Truy cập.
  • Thêm Terminal (hoặc iTerm, hoặc Python.app) vào danh sách.
  • Bật quyền cho nó.

Bây giờ chạy lại đoạn mã và voilà — bàn phím đã được khóa.

⏹️ Bước 4 — Mở Khóa Bàn Phím

Khi bạn đã hoàn tất việc vệ sinh:

  • Nhấn Ctrl + C trong Terminal, HOẶC
  • Trong một terminal khác, chạy:
bash Copy
pkill -f disable_keyboard.py

Nhập liệu bàn phím sẽ được khôi phục ngay lập tức. ✅

🎯 Mẹo Chuyên Nghiệp

  • Muốn điều khiển chỉ bằng một cú nhấp chuột? Đóng gói đoạn mã này vào một ứng dụng Automator để bạn có thể bật/tắt từ dock của mình.
  • Nếu bạn là người dùng nâng cao, hãy kiểm tra Karabiner-Elements, cho phép bạn xác định các cấu hình để vô hiệu hóa/bật lại bàn phím.
  • Luôn giữ một con chuột hoặc trackpad bên cạnh — vì đoạn mã này chặn tất cả các sự kiện phím, các phím tắt sẽ không hoạt động cho đến khi bạn dừng nó.

📝 Kết luận

Vệ sinh Mac của bạn không cần phải cảm thấy như đang gỡ bom 💣 mỗi khi bạn chạm vào một phím.
Với mẹo Python nhỏ này, bạn có thể tạm thời vô hiệu hóa bàn phím, vệ sinh an toàn và khôi phục mọi thứ ngay lập tức.

Thực hành tốt nhất

  • Luôn kiểm tra kỹ các quyền truy cập sau khi cài đặt thư viện Python.
  • Thực hiện thường xuyên việc vệ sinh máy tính để tăng tuổi thọ của thiết bị.

Những cạm bẫy thường gặp

  • Quên cấp quyền truy cập cho Terminal.
  • Chạy đoạn mã sai đường dẫn.

Mẹo hiệu suất

  • Vệ sinh định kỳ giúp máy hoạt động mượt mà hơn.

Câu hỏi thường gặp

Q: Đoạn mã này có thể chạy trên phiên bản macOS nào?
A: Đoạn mã này hoạt động trên tất cả các phiên bản macOS hỗ trợ Python và PyObjC.

Q: Có cách nào khác để vô hiệu hóa bàn phím không?
A: Bạn có thể sử dụng phần mềm bên thứ ba như Karabiner-Elements để quản lý bàn phím.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào