問題タブ [ltk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
62 参照

window - ltk ウィンドウの位置を見つける

ltk (Common Lisp 基本 GUI ライブラリ) ウィンドウ (その角の 1 つ) の位置を画面の左上隅からピクセル単位で取得することは可能ですか?

作成中のアプレットを制御するためにマウスの動きを使用しようとしています (詳細は こちら) が、ウィンドウに対するマウスの位置しか見つけることができず、画面自体に対してしか設定できません。カーソルを非表示にして、移動するたびに固定ポイントに戻し、移動方法に注意したい。さまざまな測定値を補正するには、ウィンドウの位置を知る必要があります。

0 投票する
1 に答える
77 参照

common-lisp - イベントの結論がltkを使用して関数から戻るまで待つ方法は?

Common-Lisp で Dijkstra アルゴリズムの GUI アプリケーションを開発するために ltk を使用しています。ただし、キャンバスにノードを配置するには、ノードのラベルが必要です。そのためには、ユーザーが文字列を入力して (そして Return キーを押して)、この値を使用してノードのインスタンスを開始するまで、実行を待機する必要があります。リッスン プロセスがないと、2 番目のトップレベル画面が作成された直後に戻ります。

以下は、ユーザーがメニューで [ノードの追加] オプションを選択したときに実行されるコードです。

関数はpopulate-graph作成したノードを実際のグラフに追加するだけで、create-graph関数はそれをキャンバスに描画します。そして、これはread-node-data私がこれまでに実装した機能です:

イベントが発生した後にのみ、このコード ブロックからエントリ テキストを返し、"<Return>"これをノードのインスタンス化に渡すことができるようにしたいと考えています。

0 投票する
1 に答える
85 参照

windows - Bluetooth LE GATT で、Long Term Key が無効であることを検出する方法はありますか?

Windows Bluetooth LE GATT ライブラリを使用して、BLE 対応デバイス D に接続してペアリングしています。D のストレージ スペースは限られているため、N 個を超えるクライアントが結合すると、最初の長期キーが削除されます。ボンディング中に作成されたペア。

このキー ペアが削除されたデバイスが Windows Enabled マシンであったとします。これを W としましょう。次に W が D との接続を試みるとき、W から LTK_Request_Event を受信すると、Long_Term_Key_Requested_Negative_Reply で応答し、W は接続を終了します。

しかし、ここで物事が本当に腹立たしくなります。Windows BLE スタックはこの応答を認識しているように見えますが (切断されるため)、これは Bluetooth LE GATT ライブラリを使用するアプリケーションにダウンストリームで伝達されていないようです。実際、アプリケーション側からは、ペアリング要求は「Already Paired」で返されますが、何か問題があったことを示すものではありません。もちろん、アプリケーションが保護された特性にアクセスしようとすると、アクセスできなくなります。これまでのところ、ペアリングが成功しなかったことを示す唯一の兆候です。さらに悪いことに、受け取るエラーには一貫性がありません。場合によっては、「到達不能」になります。時々、プロトコル エラーが発生します。それ以外の場合は、ABORT を受け取ります。

ここで、ヒューリスティックとして、このケースの検出を、再ペアリングを試行するための基準として使用できます。残念ながら、これは理想的ではありません。これらのエラーはいずれも、デバイスが LTK を受け入れなくなったことを実際に示すものではなく、代わりに、デバイスが範囲外であるなどの他の問題を示している可能性があるためです。

既存の LTK がデバイスによって拒否されたことを検出する方法はありますか?