nathancorvussolis / corvusskk Goto Github PK
View Code? Open in Web Editor NEW▽▼ SKK-like Japanese Input Method Editor for Windows
License: Other
▽▼ SKK-like Japanese Input Method Editor for Windows
License: Other
現状のまとめ
IME としては、x86, ARM32, ARM64 のTIPが必要となる。
Windows Installer で Platform が "Arm" だとインストール不可。"Arm64" である必要がある。ということで、ARM32/ARM64 のバイナリは1つの msi ファイルとした。
WiX Toolset 3.11.1 では ARM64 をサポートしていないので、Platform を x64 としてビルドした後に msiinfo コマンドで Platform を Arm64 に書き替えるようにした。
Visual C++ v14.16 の再配布可能ファイルが不足しているので、とりあえず現状では ARM32/ARM64 のバイナリはスタティックリンクとした。ログは提出済み。調査中のフェーズから変化がない…
https://developercommunity.visualstudio.com/content/problem/385642/vc-2017-159-v1416-toolset-lacks-some-crt-redist-fi.html
プロジェクトのプロパティ WindowsSDKDesktopARMSupport と WindowsSDKDesktopARM64Support は必要なくなったようなので削除。
124923e
ARM版ビルド手順 (x86/x64版のビルドも含む)
(1) installer\_version.cmd で "set ENABLE_PLATFORM_ARM=1" と編集。
(2) installer\_solution_build.cmd を実行。
(3) installer\_build.cmd を実行。
(4) installer\build\corvusskk-X-Y-Z-arm.exe ができる。
とりあえずARM版のインストーラを置いておきます。実行環境をお持ちの方がいたら試してみてください。
corvusskk-2.7.3-arm.exe.zip
名状しがたい挙動なので動画を添付します。これを撮影する前にすでに一度「文化たきつけ」を入力しようとしていました。こうなると Google Chrome を再起動するまでなおらないです。
Chrome のバージョンは バージョン: 89.0.4389.90(Official Build) (64 ビット)で corvusskk は 2.8.1 です。
以下の「やりたい事」を設定する方法があるのか、それとも仕様上設定出来ないのかが知りたいです。
キーに、次の様に機能を割り当てたい。
キー | 機能 |
---|---|
無変換 | IME off |
変換 | IME on |
Ctrl + 変換 | ひらがな&確定 |
機能 | 仮想キー | ALT | CTRL | SHIFT |
---|---|---|---|---|
キー設定 ON | 0x1C |
0 | 0 | 0 |
キー設定 OFF | 0x1D |
0 | 0 | 0 |
機能 | 仮想キー |
---|---|
ひらがな | C\x1C |
確定 | C\x1C |
キー | 動作 |
---|---|
無変換 | 「IME off」は機能する |
変換 | 「IME on」は機能する |
Ctrl + 変換 | 「ひらがな」「確定」が機能しない |
機能 | 仮想キー | ALT | CTRL | SHIFT |
---|---|---|---|---|
キー設定 ON(※) | ||||
キー設定 OFF | 0x1D |
0 | 0 | 0 |
(※) 設定しない
機能 | 仮想キー |
---|---|
ひらがな | C\x1C |
確定 | C\x1C |
キー | 動作 |
---|---|
無変換 | 「IME off」は機能する |
変換 | 「IME on」は機能しない |
Ctrl + 変換 | 「ひらがな」「確定」は機能する |
環境
Windows 10 Pro 64bit
現象
2.5.6にアップデートした後、crvskkservとの接続ができないためか、漢字変換ができない状態になりました。(辞書は登録していないため)
アップデートのためでしょうが、2.4.0で入った「辞書がなくても最低限変換する」もできていません。
設定があるからだと思います。
一応、ファイアウォールの許可を設定したり、ポート変えてみたり、localhostを127.0.0.1/::1にしてみたりしましたが効果なしでした。
追記
辞書を登録しましたが、だめでした。またユーザー辞書も読めてないように思えます
お世話になっています。
現在、インストールを行い実際に扱ってみようと思っているのですが、インストールを行ってもキーボードレイアウトに skk が表示されず入力方式を変更する事ができません。
考えられる原因を教えて頂けないでしょうか?
環境:Windows 10 Pro (1803/1809) 64bit
chocolatey経由のver2.7.1
以下のような現象が発生しました。
一過性や個別の事象ではなさそうに見えます。
メインマシンだけでなく別のノートPCでも発生しました。
CorvusSKKをEdgeなどでの有効化を実施し、その後に設定を行おうとすると設定できない状態になります。(設定ツールの「適用」でツールが死ぬ)
これは発生以降は再起動などしても同じです。
当方の場合LockHunterというツールで確認しました。
「System(PID:4)がロックしている」という状態で、ファイルの更新ができなくなっています。
更新のため、当該ツールで「再起動後にロックを外しての削除」してやり、ファイルを置き直してから更新しました。
なお、imcrvmgr.exe
を殺してもだめです。
ロック状態で
当方Windows上でVimを利用したりしているのですが、入力状態をコマンドなどから取得できると嬉しいです。
ということで、要望として提案します。
# luaの処理系で処理可能であれば十分なので、そちらでも大丈夫です。
たとえば (skk-strftime "%Y/%m/%d")
を辞書登録した場合、登録時は日時(今日であれば'2021/02/16'
)に変換されますが、その後再度変換すると登録した内容の文字列そのままに変換されてしまいます。
CorvusSKKでは'/'
を含む文字列を辞書登録する場合にLispで'\057'
をconcat
する形に変換して登録するようですが、その機能がLispスクリプトを登録する場合にも働いてしまうのが原因のようです。
手動で変換した上で登録すればいいだけの話ではあるんですが……。
バージョンはCorvusSKK 2.8.0です。
CertumがSHA-2のコードサイニング証明書の発行を開始したら取得する。
問い合せたところ、2016年の内には発行を開始するとのこと。
SKK辞書として指定されたURLが辞書として不正な場合(HTML等)はエラーが出るようですが、ファイルが見つからない(HTTP 404)場合にもエラーを出すようにならないでしょうか。
配布URLが変更になっていたまま気づかない、ということが何度かあったので、取り込み時はいかなる理由にせよダウンロードできなかったことを知らせてもらえると便利だなと思った次第です。
Microsoft Office LTSC Professional Plus 2021 での現象です。
のように図形の「頂点の編集」をしようとすると、CorvusSKK を利用している場合は図形へのテキストの入力に遷移してしまうようです。Microsoft IME ですと普通に効きます。頻繁に使う機能ではないので特段困っていませんが、情報まで。
改善したい点メモ
辞書登録から次の候補を表示するときCCandidateWindowクラスをスタックしていく形式となっているが、スタック数が増えると重くなってしまう。
CCandidateWindowで候補表示と辞書登録を切り替えている。
辞書登録でのキー処理をコンテキストをnullptrとしてCTextServiceクラスに渡しているが、コンテキストがnullptrかどうかで切り分けるのは筋が悪い。
ITfFnReconversionクラスの実装は無くても良いかもしれない。あるいは、送りありにも対応する。
変数名、メソッド名などの命名規則。
設定ファイルの項目名を省略しすぎて意味不明に近い。特にbehaviorセクション。
ローマ字・仮名変換表の各項目にコメントを付けられるようにしたい。
キー設定に正規表現を使用しているが、より良い方法はないか。
▽マークを出さないときで;キーやQキーなどにより文字表示がまだ無いときスペースで代替しているが、より良い方法はないか。
gzipな辞書の展開にzlibを使用しているが、より小さくまたは速くしたい。
Chrome 66 において、かなモードで「キーボード最上段の1」「テンキーの1」を押した際のイベントを https://w3c.github.io/uievents/tools/key-event-viewer.html で確認すると、次のような結果になりました。
同じ操作をASCIIモードで行うと、次のようになります。
前者ではkeypressが発生しておらず、key列が Process
になっています。これは変換中のキー押下によるイベントと同様のパターンなので、JavaScript側で変換中のキー押下かどうかを判定しようとした際に誤判定が起きる可能性があります(isComposing等の違いはありますが…)。
同じ操作をSKK日本語FEPで行なったところ、かなモードとASCIIモードどちらでも後者の例と同じ結果が得られました。CorvusSKKでもこのような挙動にすることは可能でしょうか?
つい先日 Windows 10 から Windows 11 にOSをアップグレードしたのですが、それが切っ掛けか Slack において日本語入力できなくなってしまいました。
他のアプリケーションではタスクトレイの初期状態が「SKK」であるのに対し、Slack のみ「--」になってしまっています(Windows設定の「アプリウィンドウごとに異なる入力方式を設定する」は有効)
ただし Slack 上で Alt+@ することで「かな」にすることは可能でした。その一方で、「かな」の状態でも Ctrl+J は反応がなく、当然 l も効果がありませんでした。
試したこと(やった順)
詳しい条件等は不明ですが、他のアプリでは同現象は確認できていません。
同じく Electron 製の Discord も問題なしです。
Update2が出たら検討する。
一部のストアアプリで日本語入力ができない事がありました。
(おそらくWindows 10 バージョンアップの前後で?)
具体的には、問題のアプリのテキストボックス内で以下の状態になりました。
#11 とはEdgeでは動作していた点が異なります。
該当ストアアプリの再インストールで解決しましたが、
再起動やCorvusSKKの再インストールでは直らず、
デスクトップ版もあるアプリだけで起きたように感じたのが気になったのと、
他にもひっかかった人がいればと思い、
ここに書かせて頂きました。
一過性のものだと思いますので、そのままcloseして頂いても構いません。
どうも、いつも便利に利用させていただいています。
さて、現在のインストーラですが、/install /quietなどのオプションもあるようなので、できたらChocolateyからインストールできるようになる と嬉しいなと思います。
仕組み的には、インストーラのダウンロード/インストール自動化のNuGet的なスクリプトを用意(して、chocolateyでのレビューを通す)、ということになるのですが。
もちろん負担になるようでしたらアレですので、よければ検討していただければ、というところです。
以上。
note:
自分でもぼちぼちやれたならと考えてはいるのですが、Windows系に知識(と時間も)ないので、要望としてとりあえず上げさせていただきたく。
ARM 版 WIndows10 が x64 のエミュレーションに対応するとのこと。
https://forest.watch.impress.co.jp/docs/news/1280130.html
おそらく、OS のビルド番号を見て x64 版をインストールするかどうか判断すれば良いと思われる。
参照 : Windows 10 on ARM 対応 #10
現行のインストーラーは WiX Toolset v3.11.2 だが v3.14 ~では Package/Platform に arm64 が追加されているので、安定版がリリースされたら使いたい。
https://wixtoolset.org/documentation/manual/v3/xsd/wix/package.html
たとえば 《
を入力したいときには Q
+ <
と入力して変換すればよいはずですが、これが Q
+ >
と入力したときと同様の結果になってしまいます。Q
+ <
と入力すると代わりになぜか >
が表示され、スペースキーを何度か押すと 》
が提示されます。
Visual Studio Code上でEnterキー以外で確定させると、その入力した文字が変換結果の左右に挿入されます。例えば:
「漢字変換」を入力しようとして、「KanjiH」とタイプすると「h漢字h」という結果になります。
コマンドラインから「かな」(ctrl+j
)や、「ASCII」(l
)の切替は行えるでしょうか。
VSCodeのVim拡張機能上で使用する際に、Insert -> Normalへ移動するタイミングでコマンドライン経由で自動的にASCIIへの切替えを実現したいと考えています。
補完動作時、先頭の候補を選択するにはtab→spaceと打鍵する必要があると思いますが、これをワンキーで行えるようにすればさらにスムーズな入力体験が得られるのではと思っています。
より直接的に言うとSKKFEPでいうところの "." の動作です。
多くの skk 系インプットメソッド で採用されている "変換中で Enter キーを入力したとき,変換中の文字列の確定と改行を同時に行う" 機能を実装して欲しいです.
# もし既に実装済でしたら申し訳ありません.
当方日本語キーボードを使っているのですが、WSL2でインストールしたUbuntuからEmacsをXで起動すると、Emacsの画面からcorvusskkを使うと英字キーボードとして認識されてしまいます。
Emacsの画面からWindows標準のIMEに切り替えると日本語キーボードとして認識されます。
月配列に対応する。
https://twitter.com/portown/status/1193225600321736704
ひとまず、2-263式の対応が目標。
【参考】
中指前置シフト新JIS「月配列」
http://jisx6004.client.jp/tsuki.html
SKKで月配列を使う
http://www.asahi-net.or.jp/~wq6k-yn/skk-tsuki.html
最近SKKを使い始めた初心者です。MS-IMEやMozc(GoogleIME)の辞書をサポートする計画はありますでしょうか。FEPの方は対応しているとのことなのですが、個人的にはこちらの方が使い勝手がいいので、サポートしていただけるとありがたいです。(既出でしたらすみません)
キー0の設定にCTRL + 0x4Aを追加することでCTRL+JでIMEのONにする設定にできるのですが、そうするとキー1/2 で設定する機能で CTRL+Jが拾われなくなってしまい、ひらがな切替えや確定などで CTRL+Jが効かなくなってしまいます。
質問させていただいても宜しいでしょうか。
ExcelのPowerQueryの編集画面で、入力しようとしてマウスをクリックしますと、
コマンドが走ってしまうような動作をしてしまい、中の文字列が壊れてしまいます。
マウスへのクリックがWindowsを上げて2度目の場合は、壊れない状況です。
また、Ctrl+ZでUndoすると壊れていた文字列は一度で元に戻る状況です。
設定をまったくいじっていないCorvusSKKとWin10でも発生いたします。
直ったりしますでしょうか。
CorvusSKK 3.1.4
Excel: Microsoft 365 Apps for enterprise
このような状態のポイントしてクリックした際のリネーム時のみ、一文字目からShiftで、もしくはstickyで変換を始めようとすると一文字目が無視されたような入力になります。「入力」としたくて "Nyuryoku" としようとして2文字目の"y"を入力した時点で、"N" が無視されたような入力状態になります。
秀丸ファイラのせいかとも思ったのですが、秀丸ファイラのバージョンを変えても問題が再現し、CorvusSKKを "3.0.1" から "2.8.0" に変えてみたところ再現しなくなりました。
しかも、秀丸ファイラを起動してすぐだと起こらず、数時間後に問題が起こることがあるという自分でも報告に困る状態な上、使ってる人もとても少ないであろう有償ファイラである秀丸ファイラでしか問題を確認していないのですが、一応報告を上げておきます。
報告が遅れてすみません、不具合か判別しかねたので...
Windows 10 Pro 1809 / 17763.195
corvusskk 2.7.4
しばらく前のバージョンからだと思われるのですが、Windows ストアアプリ/EdgeでIMEのOn/Off制御がうまくいきません。
確認した限りで
は機能しますが
※機能するのはOS側制御でIME On/Offしてるからでしょうか....?
は機能しません。
※他のアサインはキーボード的に確認はできませんでした。
なお通常アプリでは問題ありません。
また、アンチウィルスをOffにしても変化はありませんでした。
<section name="preservedkeyon">
<list>
<row vkey="0xC0" mkey="1" />
<row vkey="0x19" mkey="0" />
<row vkey="0xF3" mkey="0" />
<row vkey="0xF4" mkey="0" />
<row vkey="0xE2" mkey="2" />
<row vkey="0x1C" mkey="0" />
</list>
</section>
<section name="preservedkeyoff">
<list>
<row vkey="0xC0" mkey="1" />
<row vkey="0x19" mkey="0" />
<row vkey="0xF3" mkey="0" />
<row vkey="0xF4" mkey="0" />
<row vkey="0xE2" mkey="2" />
<row vkey="0x1D" mkey="0" />
</list>
</section>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.