• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Motifのイベントの制御について教えてください)

Motifのイベント制御について

このQ&Aのポイント
  • Motifのイベント制御方法について教えてください。
  • LinuxでMotifを使用してプログラムを作成していますが、フォーカスがあたっているボタンにEnterキーが反応せず、代わりにSpaceキーが反応する問題が発生しています。
  • また、スクロールウインドウ内での図形描画時にスクロールバーが最終端まで移動してしまう問題も発生しており、対処方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

プログラム中からの変更する場合、widgetをcreateする時に Argに同様の設定を追加します。 こんな感じ。 static char trnsdef[] = "#override \n" " <Key>Return: ArmAndActivate() "; XtTranslations trns; Arg arg[32]; int argno = 0; trns = XtParseTranslationTable( trnsdef ); XtSetArg( arg[argno], XmNtranslations, trns ); argno++;

peacenik
質問者

お礼

大変有り難う御座います。 これで解決できます。

その他の回答 (1)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.1

>Enterキーでボタンを実行したいのですが制御する方法があるのでしょうか? Enter(Returrn)キーは別の機能に割り当てられていますが、リソースの設定で変更可能です。 PushButton widgetで全てのボタンを変更するなら、 *XmPushButton.translations: #override \ <Key>Return: ArmAndActivate() だと思います。 ArmAndActivateってのがSPACE押した時に実行されるので、Returnでも同じ処理を実行させるように設定しています。 .Xdefaultにでも入れてください。 プログラム中からも変更可能ですが、こっちのが簡単ですので。 後半の質問は、プログラムそのものを見ないとけんとうつきません。 ウインドウの作り方に問題があるような気はしますが。

peacenik
質問者

お礼

ご回答有り難う御座います。 プログラム中からも変更できるのであればそちらの方が望ましいです。 もし、よければプログラム中からの変更方法を教えていただけないでしょうか?

関連するQ&A

専門家に質問してみよう