Một số công cụ tồn tại có thể làm điều này, như KMonad, Công cụ đánh chặn, và gõ phím.
Tôi đã hoàn toàn thành công với gõ phím
dưới Wayland, vì vậy tôi mô tả những gì tôi đã làm với điều đó. Tôi đề nghị đọc ngắn README để lấy cảm hứng. Deamon có thể làm được nhiều hơn những gì được sử dụng ở đây.
Giải pháp hiện tại làm những gì tôi muốn, nhưng phá vỡ bằng cách sử dụng AltGr
đường vòng. Nó đối xử Phím Caps Lock
như Kiểm soát
mọi nơi, ngoại trừ trong h ,j ,k ,l
, mà nó thay đổi thành các phím mũi tên.
1. LẮP ĐẶT
Tôi xây gõ phím
từ nguồn, vì điều đó thật dễ dàng. Các dòng tiếp theo trước tiên cài đặt các phụ thuộc (bao gồm trình biên dịch C), tải xuống nguồn, xây dựng và cài đặt nó, đồng thời kích hoạt nó dưới dạng dịch vụ, rồi khởi động và chạy nó khi khởi động.
Khi hoàn tất, nó sẽ cho bạn biết nó đã cài đặt ở đâu để bạn có thể xóa nó để gỡ cài đặt. Bạn có thể xóa mã nguồn sau khi cài đặt.
Sudo apt cài đặt cmake libudev-dev
bản sao git https://github.com/rvaiya/keyd
phím cd
thực hiện && sudo thực hiện cài đặt
sudo systemctl enable keyd && sudo systemctl start keyd
2. TÌM TÊN BÀN PHÍM BẠN MUỐN SƠ ĐỒ LẠI
Bạn nên tìm tên bàn phím của mình để chúng tôi có thể ánh xạ lại cho mục đó. Chạy
gõ sudo -m
và nhấn một số phím. Nó sẽ hiển thị tên của bàn phím và các phím được nhấn. Lưu ý xuống tên. Tôi đã Bàn phím AT Translated Set 2
.
3. TẠO TẬP TIN CẤU HÌNH
Ở bất cứ đâu, hãy tạo một tệp cấu hình có tên là anything. Chúng ta sẽ di chuyển nó sau. Giả sử bạn sử dụng ~/my_keyboard.conf
.
Trong đó, đặt như sau. #'ed là các nhận xét giải thích hành vi được xác định (được cập nhật cho v2.1.1. Tôi hy vọng mình không mắc phải bất kỳ lỗi nào):
[id]
*
[chủ yếu]
### LỚP CHÍNH
# Tạo capslock kích hoạt lớp thứ hai:
capslock = layer(motion_layer)
### LỚP THỨ HAI (được gọi là "lớp_chuyển động")
# Xác định lớp mới, trong khi hoạt động
# theo mặc định xử lý mọi phím như thể Control được nhấn,
# (":C" có nghĩa là lớp sẽ kế thừa lớp Điều khiển),
# và chỉ ghi đè mặc định này cho h, j, k và l, mà
# được ánh xạ tới các hướng.
[movement_layer:C]
h = trái
j = xuống
k = lên
tôi = đúng
# Tóm lại, trong lớp mặc định chính, mọi thứ đều chuẩn, ngoại trừ
# khi CapsLock được nhấn, thì lớp thứ hai được kích hoạt.
# Khi lớp thứ hai được kích hoạt, mọi thứ trừ h, j, k, l
# hoạt động như thể Kiểm soát được giữ---ví dụ: c bản sao và v dán,
# mà chúng tôi muốn, khi chúng tôi nhấn giữ CapsLock.)
4. COPY VÀ ĐỔI TÊN TẬP TIN CẤU HÌNH VÀ RESTART KEYD
Tiếp theo, chúng tôi sao chép cấu hình vào đúng vị trí và đặt tên hợp lý, cụ thể là theo bàn phím mà chúng tôi muốn ánh xạ lại.
sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf
Sau đó chúng tôi khởi động lại gõ phím
để nó tải cấu hình mới:
sudo systemctl khởi động lại keyd
Bây giờ bạn đã thiết lập và chạy :)
5. MẸO: TẠO MỘT BÍ MẬT ĐỂ SAO CHÉP CẤU HÌNH VÀ KHỞI ĐỘNG LẠI KHÓA
Cuối cùng tôi đã chơi rất nhiều với các tệp cấu hình. Tôi đã chỉnh sửa chúng trong thư mục con của thư mục nhà của mình, sau đó sao chép chúng và khởi động lại.
Để làm cho điều này ít rắc rối hơn, trong ~/.bash_aliases
, Tôi đã thêm
alias rekeyd='sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf && sudo systemctl restart keyd'