Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change Japanese keyboard to US(JIS to ANSI) #167

Closed
yourslee opened this issue Sep 27, 2016 · 13 comments
Closed

change Japanese keyboard to US(JIS to ANSI) #167

yourslee opened this issue Sep 27, 2016 · 13 comments

Comments

@yourslee
Copy link

Can I use Karabiner-Elements to change my Apple Internal Keyboard type from JIS to ANSI.
Just like what I can do in Karabiner
image

@talha131
Copy link
Contributor

We discussed this earlier here #88. I suggest you to go through it.

Currently there is no single click option.

@yourslee
Copy link
Author

@talha131 Thank you for your reply. But I think my problem is different with #88 .
My request is to change my Apple Internal Keyboard type from Japanese to US.
I can swap the cmd,option,control keys easily, but change the symbols like "#","@" is a huge project. Can you please help me? Thanks again.

Here is my current keyboard looks like:
image
And this is what I want it to look like:
image

@talha131
Copy link
Contributor

To map " which is ⇧Shift+2 in JIS to @, you are going to need #16.

Currently, if I map 2 to 3, it also maps @ to # (which are tied to ⇧Shift+2 and ⇧Shift+3). So basically you can remap key+shift_key to other key+shift_key.

To only map shift_key to other shift_key, you will have to wait for #16.

BTW, what happens when you set your keyboard to US in the system preferences? Can you share screenshot of onscreen keyboard with and without shift? I am just curious.

screen shot 2016-09-27 at 15 47 16

@yourslee
Copy link
Author

image
This is what my keyboard viewer shows.
In the past, I used karabiner to change my keyboard to US but it doesn't work right now on macOS Sierra.
image

If I have to remap keys one by one, I have to face the problem of map shift_keys only, which seems not supported right now?

@talha131
Copy link
Contributor

Thanks a lot.
Can you please also share shot of keyboard with shift key pressed?

If I have to remap keys one by one, I have to face the problem of map shift_keys only, which seems not supported right now?

Yes

@yourslee
Copy link
Author

Can you please also share shot of keyboard with shift key pressed?

Sure.
image

@imcoddy
Copy link

imcoddy commented Oct 4, 2016

Also ran into this situation.
So basically we just need to set __SetKeyboardType__ to JIS to US?
I don't have my Japanese one at hand. Has anyone done this yet?

@xinmei9322
Copy link

Hi, in #55 there is a solution. And it works to me. Here is my setting. Hope it helps.
{ "profiles" : [ { "name" : "Default profile", "selected" : true, "fn_function_keys" : { "f12" : "volume_up", "f9" : "vk_consumer_next", "f5" : "vk_consumer_illumination_down", "f10" : "mute", "f1" : "vk_consumer_brightness_down", "f6" : "vk_consumer_illumination_up", "f2" : "vk_consumer_brightness_up", "f7" : "vk_consumer_previous", "f11" : "volume_down", "f3" : "vk_mission_control", "f8" : "vk_consumer_play", "f4" : "vk_launchpad" }, "simple_modifications" : { "japanese_eisuu" : "left_control", "japanese_kana" : "right_option", "international3" : "delete_forward", "international1" : "grave_accent_and_tilde" } } ] }
It works the same as the setting in Karabiner before.http://ml.cs.tsinghua.edu.cn/~yucen/static/karbiner_setting.png

@tekezo tekezo closed this as completed Nov 6, 2016
@mhulse
Copy link

mhulse commented Feb 26, 2017

Hey all!

I hate to dredge up an older thread, but I figure since this is a niche topic, I would get the attention of people that have tried this before.

I want to buy a Japanese keyboard as I like the smaller space bar. I am an English speaker and want to use Karabiner-Elements to map the Japanese layout to something like this:

jap-ansi

Note: Yellow key is extra after conversion!

Question

Looking at my image above, should I be able to modify @xinmei9322’s JSON to get the results I want?

I thought I would ask here before spending money on the keyboard.

For readability’s sake, here's the JSON @xinmei9322 posted:

{
    "profiles": [
        {
            "name": "Default profile",
            "selected": true,
            "fn_function_keys": {
                "f12": "volume_up",
                "f9": "vk_consumer_next",
                "f5": "vk_consumer_illumination_down",
                "f10": "mute",
                "f1": "vk_consumer_brightness_down",
                "f6": "vk_consumer_illumination_up",
                "f2": "vk_consumer_brightness_up",
                "f7": "vk_consumer_previous",
                "f11": "volume_down",
                "f3": "vk_mission_control",
                "f8": "vk_consumer_play",
                "f4": "vk_launchpad"
            },
            "simple_modifications": {
                "japanese_eisuu": "left_control",
                "japanese_kana": "right_option",
                "international3": "delete_forward",
                "international1": "grave_accent_and_tilde"
            }
        }
    ]
}

@mhulse
Copy link

mhulse commented Mar 2, 2017

Got my Japanese keyboard today. I was able to get the mapping close to the image I posted previously.

Here's my ~/.config/karabiner/karabiner.json:

{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "devices": [],
            "fn_function_keys": {
                "f1": "display_brightness_decrement",
                "f10": "mute",
                "f11": "volume_decrement",
                "f12": "volume_increment",
                "f2": "display_brightness_increment",
                "f3": "mission_control",
                "f4": "launchpad",
                "f5": "illumination_decrement",
                "f6": "illumination_increment",
                "f7": "rewind",
                "f8": "play_or_pause",
                "f9": "fastforward"
            },
            "name": "Default profile",
            "selected": false,
            "simple_modifications": {},
            "virtual_hid_keyboard": {
                "caps_lock_delay_milliseconds": 0,
                "keyboard_type": "ansi"
            }
        },
        {
            "devices": [],
            "fn_function_keys": {
                "f1": "display_brightness_decrement",
                "f10": "mute",
                "f11": "volume_decrement",
                "f12": "volume_increment",
                "f2": "display_brightness_increment",
                "f3": "mission_control",
                "f4": "launchpad",
                "f5": "illumination_decrement",
                "f6": "illumination_increment",
                "f7": "rewind",
                "f8": "play_or_pause",
                "f9": "fastforward"
            },
            "name": "Japanese Keyboard",
            "selected": true,
            "simple_modifications": {
                "0": "9",
                "1": "grave_accent_and_tilde",
                "2": "1",
                "3": "2",
                "4": "3",
                "5": "4",
                "6": "5",
                "7": "6",
                "8": "7",
                "9": "8",
                "caps_lock": "fn",
                "delete_forward": "equal_sign",
                "equal_sign": "hyphen",
                "hyphen": "0",
                "international1": "backslash",
                "international3": "equal_sign"
            },
            "virtual_hid_keyboard": {
                "caps_lock_delay_milliseconds": 0,
                "keyboard_type": "ansi"
            }
        }
    ]
}

I would like to map one of the duplicate forward slash keys to a SHIFT + [ (to get a {) but it looks like this feature is not an option yet with KE.

Anyway, pretty satisfied. The Japanese keys can be mapped pretty close to US ANSI; there's a few changes, but nothing that I could not get used to in terms of muscle memory.

@steveonjava
Copy link

In case anyone is not quite as satisfied with less than perfection... I did a full implementation of a complex modification to do the symbol remapping from Japan to US key layouts. This should behave exactly the same as if your Japanese keyboard was recognized as a US layout.

Just drop it in the "rules" block of the "complex_modifications" profile in ~/.config/karabiner/karabiner.json and you are good to go:

{
    "description": "Remap Japanese Keyboard to US",
    "manipulators": [
        {
            "from": {
                "key_code": "2",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "open_bracket"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "6",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "equal_sign"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "7",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "6",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "8",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "quote",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "9",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "8",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "0",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "9",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "hyphen",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "international1"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "equal_sign"
            },
            "to": [
                {
                    "key_code": "hyphen",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "equal_sign",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "semicolon",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "international3",
                "modifiers": {
                    "optional": [
                        "any"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "grave_accent_and_tilde"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "open_bracket",
                "modifiers": {
                    "optional": [
                        "any"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "close_bracket"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "close_bracket",
                "modifiers": {
                    "optional": [
                        "any"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "non_us_pound"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "semicolon",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "quote"
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "quote"
            },
            "to": [
                {
                    "key_code": "7",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "quote",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "2",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "non_us_pound"
            },
            "to": [
                {
                    "key_code": "international3",
                    "modifiers": [
                        "left_option"
                    ]
                }
            ],
            "type": "basic"
        },
        {
            "from": {
                "key_code": "non_us_pound",
                "modifiers": {
                    "mandatory": [
                        "shift"
                    ],
                    "optional": [
                        "caps_lock"
                    ]
                }
            },
            "to": [
                {
                    "key_code": "international3",
                    "modifiers": [
                        "left_shift"
                    ]
                }
            ],
            "type": "basic"
        }
    ]
}

And then have fun reassigning the extra keys on your Japanese keyboard to do something cool... that is why I have one. ;)

@panfeng
Copy link

panfeng commented Dec 5, 2017

mkdir -p ~/.config/karabiner/
touch ~/.config/karabiner/karabiner.json
open ~/.config/karabiner/karabiner.json

than you can copy the code from @steveonjava

@nickmilo
Copy link

nickmilo commented May 20, 2019

Hi @steveonjava and @mhulse, just a disclaimer that my skill level here is novice at best.

I was able to "open ~/.config/karabiner/karabiner.json" and paste your code from above, but I have no clue what I'm doing. I thought I saved the file, but it after a minute it would disappear from the .json file. I must be doing something (or things) wrong but I can't seem to figure it out. Also, nothing seemed to change within the karibiner window either.

If anyone can offer any suggestions or guidance I would greatly appreciate it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants