tuyenvm / OpenKey

Vietnamese Input for macOS, Windows and Linux - Bộ gõ Tiếng Việt nguồn mở đa nền tảng
https://open-key.org
GNU General Public License v3.0
725 stars 123 forks source link

Bật tắt tiếng Việt bằng command line #221

Open chiendo97 opened 2 years ago

chiendo97 commented 2 years ago

Hi @tuyenvm

Cảm ơn bạn vì ứng dụng hữu dụng này.

Mình viết issue này là muốn hỏi xem liệu bạn có thể thêm tính năng tắt bật Tiếng Việt bằng command line được không?

Ví dụ:

./openkey toggle " để tắt mở tiếng việt
./openkey on " để bật tiếng việt
./openkey off " để tắt tiếng việt

Lý do mình muốn dùng tinh năng này vì dạo dần đây mình phải gõ tiếng Việt trong vim/neovim, nếu có tính năng này mình có thể tắt mở tiếng Việt khi ra vào Insert Mode trong vim/neovim.

Mình xin cảm ơn bạn.

bangedorrunt commented 2 years ago

@chiendo97 mình hiện đang dùng Neovim, nếu dùng macOS bạn có thể bật tắt OpenKey hay các bộ gõ tương tự bằng cách gán phím tắt, mặc định Opt-z.

local job = require 'plenary.job'
local function toggle_evkey()
  return job:new({command = "osascript", args = {"-e", "tell application \"System Events\" to keystroke \"z\" using option down"}}):sync()
end
do
  vim.api.nvim_create_augroup("toggle-evkey", {clear = false})
  vim.api.nvim_clear_autocmds({group = "toggle-evkey"})
  vim.api.nvim_create_autocmd("InsertEnter", {callback = toggle_evkey, group = "toggle-evkey", pattern = {"*.md", "*.markdown", "*.norg"}})
  vim.api.nvim_create_autocmd("InsertLeave", {callback = toggle_evkey, group = "toggle-evkey", pattern = {"*.md", "*.markdown", "*.norg"}})
end

Mình dùng plenary.nvim nhưng đơn giản bạn chỉ cần dùng os.execute 'osascript ....' là ổn