Wansmer / langmapper.nvim

A plugin that makes Neovim more friendly to non-English input methods 🤝
MIT License
128 stars 7 forks source link

mac <D-letter> keymap loses mod in russian layout #32

Closed natpuncher closed 2 months ago

natpuncher commented 2 months ago

Hi there! I have a couple of keymaps with cmd mod like for saving file on cmd+s vim.keymap.set({ 'i', 'x', 'n', 's' }, '<D-s>', '<cmd>w<cr><esc>', { desc = 'Save File' }) or commenting line. vim.keymap.set('n', '<D-/>', 'gcc', { remap = true }) and while i'm in the russian layout all these keymaps passes the letter itself without any mod, like 'cmd+s' just types 's' and 'cmd+/' passes '/'. I've tried to bind cmd to number vim.keymap.set({ 'i', 'x', 'n', 's' }, '<D-6>', '<cmd>w<cr><esc>', { desc = 'Save File' }) and it works both with en and ru layouts. What am I missing here?

macos 14.5 nvim 0.10 wezterm + enable_kitty_keyboard

Wansmer commented 2 months ago

Hello!

I checked on wezterm, there is indeed such a problem there, but it is related to the terminal itself.

You can check it by opening the shell, switching to Russian and typing Cmd+ы - s will be displayed. This means that the terminal catches Russian characters in advance.

The second way to check that there is an catching over nvim: open nvim, type <C-v><D-ы> in insert mode - s will be displayed instead of the expected <D-ы> (as, for example, displayed in kitty).

natpuncher commented 2 months ago

Yeah, it is definitely on the wezterm/kitty side, thanks