WindowsNT互換指向 - ReactOS Part10
レス数が1000を超えています。これ以上書き込みはできません。
WindowsNT系OSのアプリやドライバを動作させる事を目指して開発されている
「ReactOS」に関する情報交換スレです。
・次スレは、980を踏んだ人がたてましょう。
・過度の煽り行為や荒し厳禁!!
・最低限のルールを守って正しく進行しましょう。
本家
http://www.reactos.org/
公式wiki
http://www.reactos.org/wiki/
既知のバグ(英語)
http://www.reactos.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
情報まとめ
http://reactos.2chv.net/wiki/
専用あぷろだ(1Mbyte制限)
http://reactos.2chv.net/uploader/upload.html 解析は合法かもしれないがパクリは著作権的に違法だろう
むしろ解析できていかにパクらないようにするかが難しくなるだろう >>966拙作の話ならありがとう。褒められると伸びます。ReactOSの話なら最新開発版(nightly build)はけっこうキビキビ動くよ
SentinelFEPはモジュールkeyboardの制約からバックスペース動作をもっさりさせざるを得ないんだ。もうちょっとマシに出来るよう頑張るね
駆動アルゴリズムは以下参照。俺氏の手には余るけど、コンパイル言語やアセンブリ言語辺りで別実装組むとサクサク動くと思われ
1・ユーザーの入力を記録
2・入力文字数分BackSpaceを出力
3・記録されたローマ字を平仮名に変換
4・平仮名文字列を変換エンジンに渡す
5・変換エンジンからの結果を出力
6・1へ戻る
>>967サブマリン特許とか、特許関連はクリーンルーム方式にとっても地雷原っぽい。恐い
https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%A0%E8%A8%AD%E8%A8%88
ttps://www.catch.jp/oss-license/2011/11/19/gpl2bsd/ ひどい場合だとソースコード全く別になるように書いても、コンパイラーの
最適化ビルドして出てきたアセンブラーコードが同じになる可能性だってある
どうやって回避すればよいものか うわぁ……なんて言うか……うわぁorz
収斂進化です(キリッ で言い訳になりま……せんねやっぱり
BSもっさり問題はsys.stdout.write("\b")とか試してみまっす 詳しく調べないといけないけど、Win2kではimm32でグローバルフックでキー入力を引っ掛けているみたいなんだ。
キー入力をラップするという考え方は間違っていない。 >>971
Pythonで作っているとキー入力をキャプチャ出来てもキーボードを黙らせられないのがネックでして……
フレームワークとかAPIとかそういうものの重要性が身に染みます。
>>972
最近のNightly BuildをVirtualBox側でSMP有りでインストールした時はデバイスマネージャーにCPUが2つあったよ
ただ効いているかどうかは判らなかった
高速、かつ不安定化しますた
https://youtu.be/VJsqbApEsh0 あと、sys.stdout.write("\b") はコマンドプロンプトにゴミが表示されただけだったよ
誰だよ、こんなゴミ情報流したの……俺だよorz >>971
とり急ぎお礼をば。
その後pythonの他にglobalhookを検索キーに加えてググったら使えそうなモジュールが幾つか引っかかりました。
上手くいけばキーボード抑制を実装できそうです。助かりました。 あ゛ー、VC++Compilerの2010インストール出来ない……pyHook_py3kをpython3.4向けにコンパイル出来ない……python27のpyHookはReactOS上での挙動がおかしい……
OS依存少な目のコードからWin32API成分多めなコードへ方針転換したものの、ctypes.windll.user32からBlockInputでモディファイアキー黙らせようとすると管理者権が必要……
でもってReactOSの方針は出来るだけ管理者権限で動かすな! https://www.reactos.org/wiki/FAQ#Does_ReactOS_have_the_same_security_problems_as_Microsoft_Windows.E2.84.A2.3F
笑えるほど上手くいかねえ……うけけけけ
ってことで、CLI版はモディファイアキーのリリースイベントを待って次のキー入力を行う、GUI版は最前面にウインドウを張り付けてキーイベント全部奪取するって方向で再設計っす
以上、間に合わせ日本語入力システム作成班からの経過報告でした 確かにctypesの多用は回りくどいっす。でも残念ながら俺っちC++で書いたことないっす
とはいえ真面目な理由もあって、スクリプトなら怪しげな仕込みがあっても一発でわかります
特に現行のCLI版は動作原理がほぼキーロガーですから、改ざんがないか判りやすいのは重要と考えます >>979
情報が半端でした。ごめんなさい
https://stackoverflow.com/questions/7529991/disable-or-lock-mouse-and-keybord-in-python
↑このページのサンプルスクリプトを
#hm.HookMouse()
#pythoncom.PumpMessages()
この2行をコメントアウトして実行
・pyhook1.5.1 Python2.7.14 Win10_64 Ver1709 での動作
正常動作。キーボード入力は完全遮断。マウスは正常動作
・pyhook1.5.1 Pyhon2.7.14 ReactOS 0.4.7 での動作
IDLEからの起動ではキーボード入力が中途半端に遅くなる程度。コマンドプロンプトからの起動でスクリプトを実行中のウインドウへのキー入力は完全遮断するも、他のウィンドウでの入力は問題なく行えてしまう。マウスは正常動作
Win10, ROS 共に、サンプルスクリプト実行時 IDLE(Python付属の開発環境)からの起動では終了後もpythonw.exeが残存。特にROSでは多重起動状態になり、キー入力マウス入力共に操作を受け付けたり受け付けなかったりと不安定になる
元々のhookingに近い動作をするモジュールはkeyboardで、pyHookはhookingに加え一般ユーザー権限でもblockingが使えるシロモノのようです。紛らわしい
https://sourceforge.net/projects/pyhook/
https://github.com/boppreh/keyboard
>>980
スレ建てよろです(・ω・)ノシ
情報ありがとうございます。リンク先のコードはしっかり読んで今後の開発に生かしたいと思います
>>978でC++は使わないと言ったものの、pywin32やctypes.windllを使おうとするとある程度C++のコードが読める&Python向けに書き直せる必要が出てきましたので、ネットの文章とにらめっこしています 連投ごめんなさい、訂正です
>>981
hm.HookMouse()
pythoncom.PumpMessages()
ではなく、
hm.MouseAll = uMad
hm.HookMouse()
の二つです、コメントアウトするのは あー、勘違いしてたかも知れないっす
BlockInputの話と特権分離の話とシステムフックの話が頭の中で混ざってました
キーボードからのメッセージの流れをどっかで横にそらすなり捨てるなり出来ればどのキーでも黙らせられますね
拙作の日本語入力FEPではモジュールkeyboardがctypes.windll経由で仮想キーコードを打ち込んでBSやDelを出力、それによって文字消去を実現してますが
この仮想キーコードの出力と物理キーボードの入力が重なると文字の意味が変わってしまうので困ってました
例えば仮想キーコードがDeleteで、物理キーボードでShiftを押しているとメモ帳なんかではBackSpace動作に化けたりとか
何とかならないかと色々読み漁っているうちに混ざったみたいです
入力を引っ掛けたり捨てたり出来るかどうかとそれに権限が必要かどうかは別の話でした
混乱させていたらごめんなさい。フック関連と権限関連は勉強し直します >>985
助かります。デバッグ作業が楽になります 間に合わせ日本語入力の経過報告。新規設計。tkinterでGUI付けたった
https://youtu.be/cuQhH4wfQxo 古いPCで日本語入力を試そうとしたものの、CD-Rからファイル転送が上手くいかず
ネットワークカードのドライバがバンドルされてないので繋がらず難航中。
次のバージョン近いらしいから待つかな >>992
乙です!
>>991
こっちのハードだとUSBメモリが使えました。但し刺したまま再起動するとブート途中で固まりますが
フロッピーディスクとかどうでしょう……って容量が小さ過ぎますね 埋め、ついでにネタをば
ガイアが俺に囁いたのでピンイン(China)とハングル(Korea)の入力作ったったw盛り上げて行くぜぇwww
https://www.youtube.com/watch?v=yHk7fOhnaQU
https://www.youtube.com/watch?v=a2n_Dgu4CDU
Pythonのモジュールの充実ぶりは異常
>>459 のやり方はfirefox 48.0.2 でもおk
kitsuneで日本語入力可
https://www.reactos.org/wiki/Tests_for_0.4.7 にChromeの動かし方が載っている。
"--no-sandbox"を渡すのがミソ。.lnkを編集するのが楽
Chromeウェブストアで"google input tools"なり"google入力ツール"なりで検索するとChrome用日本語入力をインストール可能
実機インストール時システムハングアップからの強制終了後
セーフモード→セーフモードとコマンドプロンプト
コマンドプロンプトから chkdsk /c /f 等と打つことで精神の安寧を得る
この際選り好みはしないのでFat32より障害に強いFSをシステムに使わせてくださいおねがいします死んでしまいます
ふえーん、そんなに激しく(強制終了)されると(データが)トんじゃうよぅ、クソッタレがッ! 0.4.9の次は0.4.10で永遠に0.5にならないよ >>995
キタ━ヽ(∀゚ )人(゚∀゚)人( ゚∀)人(∀゚ )人(゚∀゚)人( ゚∀)ノ━!!
テストサイトもキタ━━━━(゚∀゚)━━━━!!
https://www.reactos.org/wiki/Tests_for_0.4.8 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1715日 20時間 31分 15秒 レス数が1000を超えています。これ以上書き込みはできません。