Code Monkey home page Code Monkey logo

ke-complex_modifications-naginata's Introduction

sorshi

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256

プロフィールが表示されるのかテスト。 PGP Public key www.dcc-jpl.com/PGPPubKey/sorshi.asc -----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE3W7eGh7Zw0vCgKGuC+ZHRmVBLkIFAmE6TrYACgkQC+ZHRmVB LkL/ng/+PPaoLBYcchcNtbm5Ugc8W2OteoKdjvAJT3s3G//3AQb4IN56W96qleK+ 3sFXjLc8luk8G01itHfSQAZlx/nFSD4JWgknWSeONtf+If6+OQ9f6pnQa+EMdPYU AEOkrfE4v0ITePEkkX3vPp/YJMTYymWudvhScALgzDhNP2oAKHjb0RyIsUhOS1CN c35etmkM+mqsIHcw16EmMs4zAFkuHQnOz6EcOa4joNLte3IKHctaBYU9PLf0a8TP uyP3x2iCQpD7K4PVtuGtmhF03mhuxMZFDF2HqHsp1foeTEtHbgICzEHZZBPqSSgR NC3xpS61l8bZ8cbK23MxLl34YfkwzukhLrWaQFh+duLAcd47C2LBR7gZik3kL0O1 ZPBwDGrYfGDUBe+iNtlr2ObifIjHDcbUeCQOpUo69FCMkxLPHxJ0GbQJgw5LIu/4 xYOece3ucEmP8s2M91ezCv7V+SV9NtEBWiF/QfBxAL4YthpdwduWUid2wVQJ0rp8 g6OArMhMKyXfZKfW5dATUZ5S8qn45b272DvRMeyn3y8Bu5DW96iBdzCGiO20rFBV hkopF0hb1sDBCraFtK1weikR84ElBlN293mPqYloUd9bmynxuHTCqRK/5LUXdvfK T16lPmPfQmgWHou299U8SmmRnrDopwQRdJZmU6S23Mm+pAmVKpg= =Wmn3 -----END PGP SIGNATURE-----

ke-complex_modifications-naginata's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ke-complex_modifications-naginata's Issues

連続シフトがたまーに2文字目以降がかからないことがある

原因は最後に書きます。

まず解決方法です。
KE-complex_modifications-NAGINATA/src/json/japanese_naginata.json.rb
の899行目ごろからの shift_key() の定義を

def shift_key(key, char)
{
'type' => 'basic',
'from' => {
'simultaneous' => [
{
'key_code' => key,
},
{
'key_code' => SPACEBAR,
},
],
'simultaneous_options' => {
'to_after_key_up' => [
'set_variable' =>
{'name' => 'shifted', 'value' => 0}
]
}
},
'to' => ROMAN_SIMULTANEOUS_MAP[char],
'conditions' => CONDITIONS,
}
end

とします。そして、

def shifted_on()
{
'set_variable' => {
'name' => 'shifted',
'value' => 1
}
}
end

ROMAN_SIMULTANEOUS_MAP = {
'え' => [shifted_on(), key('e')],
'お' => [shifted_on(), key('o')],
'さ' => [shifted_on(), key('s'), key('a')],
'せ' => [shifted_on(), key('s'), key('e')],
'ち' => [shifted_on(), key('t'), key('i')],
'つ' => [shifted_on(), key('t'), key('u')],
'に' => [shifted_on(), key('n'), key('i')],
'ぬ' => [shifted_on(), key('n'), key('u')],
'ね' => [shifted_on(), key('n'), key('e')],
'の' => [shifted_on(), key('n'), key('o')],
'ふ' => [shifted_on(), key('h'), key('u')],
'ま' => [shifted_on(), key('m'), key('a')],
'み' => [shifted_on(), key('m'), key('i')],
'む' => [shifted_on(), key('m'), key('u')],
'め' => [shifted_on(), key('m'), key('e')],
'も' => [shifted_on(), key('m'), key('o')],
'や' => [shifted_on(), key('y'), key('a')],
'ゆ' => [shifted_on(), key('y'), key('u')],
'よ' => [shifted_on(), key('y'), key('o')],
'り' => [shifted_on(), key('r'), key('i')],
'わ' => [shifted_on(), key('w'), key('a')],
'を' => [shifted_on(), key('w'), key('o')],
'、' => [shifted_on(), key(COMMA)],
'。' => [shifted_on(), key(PERIOD)],
'選→' => [shifted_on(), key_with_repeat_shift(RIGHT_ARROW)],
'選←' => [shifted_on(), key_with_repeat_shift(LEFT_ARROW)],
}

を追加してください。

不具合の直接の原因は、スペースと文字キーの同時押し(初期設定は50ミリ秒以内)の時に、shiftedフラグがセットされなかったことです。
ただしこれらのキーを離したときにshiftedフラグがオフになってはうまくないので、
"to" で shiftedフラグをセットするように(ROMAN_SIMULTANEOUS_MAP はそのための配列定義)、
"to_after_key_up" でキーを2つとも離したときにshiftedフラグをオフにするように改造します。

なおこの方法では同時連続シフト(後置シフトからの連続シフト)になります。

ルビ入力はたまに正確に入らない

薙刀式v14のルビ入力は、
切り取り、ユニコード入力、
|《》、2文字戻る、張り付け、1文字進む、1文字の空白を作ってクリップボードに送る、シフト+かなキー、かなキー
のように組み替えたらできました。
v11のルビ入力も、かな入力に戻すのを最後にすればいいんではないでしょうか。

Unicode記号を確実に入力する方法

ユニコード入力に切り替えた後、20ミリ秒待ってからユニコード、「シフト+かな」、「かな」を出力すると確実です。
「シフト+かな」を入れないとなぜか再変換になることがあります。
なおリピートは起きません。

例は、M+Comma+T で ○ (U+25CB)を出力する定義の部分です。

{"type":"basic",
"from":{"simultaneous":[
{"key_code":"m"},
{"key_code":"comma"},
{"key_code":"t"}
]},
"to":[{"select_input_source":{"input_source_id":"com.apple.keylayout.UnicodeHexInput"}}],
"parameters":{"basic.to_delayed_action_delay_milliseconds":20},
"to_delayed_action":{"to_if_invoked":[
{"key_code":"2","modifiers":["option"]},{"key_code":"5","modifiers":["option"]},{"key_code":"c","modifiers":["option"]},{"key_code":"b","modifiers":["option"]},{"key_code":"lang1","modifiers":["shift"]},{"key_code":"lang1"}
]},
"conditions":[{"input_sources":[{"language":"ja"}],"type":"input_source_if"},
{"input_sources":[{"input_mode_id":"Roman$"}],"type":"input_source_unless"}]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.