5

I would like to be able to type with the "full width" characters, such as

abcdefghijklmnopqrstuvwxyz

and

ABCDEFGHIJKLMNOPQRSTUVWXYZ

or

0123456789

or even

!#$&*+-<=>?@[\]^_{|}~⦅⦆¢£¬ ̄¦¥₩

without having to resort to "hunting and pecking" via the Symbols and Emoji dialog..

enter image description here

Is this possible without laboriously assigning macros for each character via OS X's "shortcuts" (or BetterTouchTool, etc)?

3 Answers 3

4

• Open system preferences

• Select ‘Keyboard’

• Go to the ‘Input sources’ tab

• Click on the plus button at the bottom to add a keyboard format

• Select a keyboard format that supports full-width text (e.g. Japanese)

• Make sure that the full-width input mode is enabled. (For the Japanese keyboard menu you will need to tick the box next to ‘Full-width Romaji’)

• Make sure that the ‘Show Input menu in menu bar’ box is ticked

• Select the full-width mode in the menu bar

• You should then be able to type in full-width text

Screenshots: https://i.stack.imgur.com/QCcP3.jpg

1

DefaultKeyBinding.dict

Create ~/Library/KeyBindings/DefaultKeyBinding.dict and enter

{"$^A"=(insertText:,"A");"$^B"=(insertText:,"B");"$^C"=(insertText:,"C");"$^D"=(insertText:,"D");"$^E"=(insertText:,"E");"$^F"=(insertText:,"F");"$^G"=(insertText:,"G");"$^H"=(insertText:,"H");"$^I"=(insertText:,"I");"$^J"=(insertText:,"J");"$^K"=(insertText:,"K");"$^L"=(insertText:,"L");"$^M"=(insertText:,"M");"$^N"=(insertText:,"N");"$^O"=(insertText:,"O");"$^P"=(insertText:,"P");"$^Q"=(insertText:,"Q");"$^R"=(insertText:,"R");"$^S"=(insertText:,"S");"$^T"=(insertText:,"T");"$^U"=(insertText:,"U");"$^V"=(insertText:,"V");"$^W"=(insertText:,"W");"$^X"=(insertText:,"X");"$^Y"=(insertText:,"Y");"$^Z"=(insertText:,"Z");"^a"=(insertText:,"a");"^b"=(insertText:,"b");"^c"=(insertText:,"c");"^d"=(insertText:,"d");"^e"=(insertText:,"e");"^f"=(insertText:,"f");"^g"=(insertText:,"g");"^h"=(insertText:,"h");"^i"=(insertText:,"i");"^j"=(insertText:,"j");"^k"=(insertText:,"k");"^l"=(insertText:,"l");"^m"=(insertText:,"m");"^n"=(insertText:,"n");"^o"=(insertText:,"o");"^p"=(insertText:,"p");"^q"=(insertText:,"q");"^r"=(insertText:,"r");"^s"=(insertText:,"s");"^t"=(insertText:,"t");"^u"=(insertText:,"u");"^v"=(insertText:,"v");"^w"=(insertText:,"w");"^x"=(insertText:,"x");"^y"=(insertText:,"y");"^z"=(insertText:,"z");"^0"=(insertText:,"0");"^1"=(insertText:,"1");"^2"=(insertText:,"2");"^3"=(insertText:,"3");"^4"=(insertText:,"4");"^5"=(insertText:,"5");"^6"=(insertText:,"6");"^7"=(insertText:,"7");"^8"=(insertText:,"8");"^9"=(insertText:,"9");"$^1"=(insertText:,"!");}

This rebinds

  • ^a (ctrl-a) to insert a
  • ⇧^a (shift-ctrl-a) to insert A
  • ^0 to insert 0
  • ⇧^1 to insert !

I only implemented one punctuation mark as it depends on your keyboard layout. I think you get the idea if you want to implement the others yourself.

Make sure you don't have any other apps intercepting these keyboard shortcuts (e.g. Keyboard Maestro), but if one doesn't work, you can change the modifier with a find & replace.

In DefaultKeyBinding.dict, $ = ⇧ (shift), ^ = ^ (ctrl)

Quit and reopen applications for the change to take effect.

0
1

The full width characters are at Unicode FF01--FF5E. You could make a custom keyboard layout for these with Ukekele. Character Viewer has a category for them called Full Width Form Variant under Customize/East Asian Scripts.

There are also online converters like this.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .