"C-j" in skk-mode and org-mode (in insert mode) conflict
- Dominant language
- Emacs Lisp
- Stars
- 22.7k
- Forks
- 3.1k
- Avg merge
- 10h 46m
- Merged PRs (30d)
- 4
Description
### What did you expect to happen?
The default binding in `skk-mode` (japanese module) to switch from latin input (`skk-latin-mode`) to Japanese (`skk-j-mode`) is "C-j" (bound to `skk-kakutei`). When in insert mode in org-mode C-j appears to be bound to `org-down-element`. As far as I am aware this binding only works on headings and bullets and the like, when just typing normal text it does nothing and so 'no inner element' is displayed in the echo area.
When writing Japanese it is often required to switch between Japanese and latin inputs mid sentence, however the C-j binding in skk-mode conflicts with the one in org-mode and so doesn't work in insert mode, meaning you need to return to normal mode, hit C-j, then return to insert mode.
### What actually happened?
`org-down-element` is invoked, not `skk-kakutei`.
### Describe your attempts to resolve the issue
I have tried to rebind C-j with `(map! :i "C-j" #'skk-kakutei)` in my personal config both in `(after! skk)` and `(after! org)` blocks but neither of these has worked. I'm currently using a work around but would prefer to be able to override org's default completely or replace it with a context sensitive function.
I've noticed in the config file for the org module that there is no explicit C-j binding to org-down-element but there is:
```
(let-alist evil-org-movement-bindings
(let
...
(Cdown (concat "C-" .down))
...
(map! :map evil-org-mode-map
...
:i Cdown (cmds! (org-at-table-p) #'org-table-next-row
#'org-down-element)
...
```
I have also attempted to rebind Cdown in my personal config but copying that block and editing it as desired does not compile. Regardless, I believe Cdown is for non-hjkl motions anyway.
### Steps to reproduce
1. Enable the Japanese input and org modules
2. Open a new org-mode buffer
3. `C-x j` to enter skk-mode (the cursor should go pink and the modeline should have an indicator before the bar signifying japanese input mode)
4. `i` to enter insert mode
5. Press `l` (that's lowercase L with no modifiers) to enter latin mode (the cursor should go grey and the modeline indicator should update)
6. At this point you can freely enter latin text, as normal
7. While still in insert mode press `C-j`. 'no inner element' will be displayed in the echo area and you will remain in latin input mode.
8. Return to normal mode
9. Press `C-j` (the cursor should return to pink indicating we are now in Japanese input mode again).
### System Information
https://pastebin.com/KWDFF5a9
Contributor guide
Assessment
This issue has not been assessed yet.