local call = require('vimrc.conv').call

-- ; を開けるために / に移している

return function()
  call('skkeleton#register_kanatable', 'tsuki2-263', {
    [' '] = 'henkanFirst',
    [';'] = 'henkanPoint',
    ld = 'katakana',
    kk = 'disable',

    -- シフト無し
    ['q'] = { 'そ' },
    ['w'] = { 'こ' },
    ['e'] = { 'し' },
    ['r'] = { 'て' },
    ['t'] = { 'ょ' },
    ['y'] = { 'つ' },
    ['u'] = { 'ん' },
    ['i'] = { 'い' },
    ['o'] = { 'の' },
    ['p'] = { 'り' },
    ['@'] = { 'ち' }, -- JIS
    ['['] = { 'ち' }, -- US

    ['a'] = { 'は' },
    ['s'] = { 'か' },
    ['f'] = { 'と' },
    ['g'] = { 'た' },
    ['h'] = { 'く' },
    ['j'] = { 'う' },
    [':'] = { 'れ' }, -- JIS
    ["'"] = { 'れ' }, -- US

    ['z'] = { 'す' },
    ['x'] = { 'け' },
    ['c'] = { 'に' },
    ['v'] = { 'な' },
    ['b'] = { 'さ' },
    ['n'] = { 'っ' },
    ['m'] = { 'る' },
    [','] = { '、' },
    ['.'] = { '。' },
    ['/'] = { 'き' },

    -- 中指シフト(左始点)
    ['dy'] = { 'ぬ' },
    ['du'] = { 'え' },
    ['di'] = { 'み' },
    ['do'] = { 'や' },
    ['dp'] = { 'ぇ' },
    ['d@'] = { '「' }, -- JIS
    ['d['] = { '「' }, -- US

    ['dh'] = { 'ま' },
    ['dj'] = { 'お' },
    ['dk'] = { 'も' },
    ['dl'] = { 'わ' },
    ['d;'] = { 'ぉ' },
    ['d:'] = { '」' }, -- JIS
    ["d'"] = { '」' }, -- US
    ['dn'] = { 'む' },
    ['dm'] = { 'ろ' },
    ['d,'] = { 'ね' },
    ['d.'] = { 'ー' },
    ['d/'] = { 'ゆ' },

    -- 中指シフト(右始点)
    ['kq'] = { 'ぁ' },
    ['kw'] = { 'ひ' },
    ['ke'] = { 'ほ' },
    ['kr'] = { 'ふ' },
    ['kt'] = { 'め' },

    ['ka'] = { 'ぃ' },
    ['ks'] = { 'を' },
    ['kd'] = { 'ら' },
    ['kf'] = { 'あ' },
    ['kg'] = { 'よ' },

    ['kz'] = { 'ぅ' },
    ['kx'] = { 'へ' },
    ['kc'] = { 'せ' },
    ['kv'] = { 'ゅ' },
    ['kb'] = { 'ゃ' },

    -- 濁点シフト
    ['lq'] = { 'ぞ' },
    ['lw'] = { 'ご' },
    ['le'] = { 'じ' },
    ['lr'] = { 'で' },
    ['ly'] = { 'づ' },
    ['lu'] = { 'ん' },
    ['li'] = { 'い' },
    ['lo'] = { 'の' },
    ['lp'] = { 'り' },
    ['l@'] = { 'ぢ' }, -- JIS
    ['l['] = { 'ぢ' }, -- US

    ['la'] = { 'ば' },
    ['ls'] = { 'が' },
    ['lf'] = { 'ど' },
    ['lg'] = { 'だ' },
    ['lh'] = { 'ぐ' },
    ['lj'] = { 'ゔ' },
    -- ['ll'] = { '゛' },

    ['lz'] = { 'ず' },
    ['lx'] = { 'げ' },
    ['lb'] = { 'ざ' },
    ['l/'] = { 'ぎ' },

    -- 半濁点シフト
    -- 単スラッシュを開けるために手数を増やしている
    ['llw'] = { 'ぴ' },
    ['lle'] = { 'ぽ' },
    ['llr'] = { 'ぷ' },
    ['lla'] = { 'ぱ' },
    ['llx'] = { 'ぺ' },

    -- 濁点+中指シフト
    ['lkw'] = { 'び' },
    ['lke'] = { 'ぼ' },
    ['lkr'] = { 'ぶ' },
    ['lkx'] = { 'べ' },
    ['lkc'] = { 'ぜ' },
  }, true)

  call('skkeleton#config', {
    kanaTable = 'tsuki2-263',
  })
end