如何将Esc映射到Motif小部件中的动作

如何将Esc映射到Motif小部件中的动作,c,keyboard-shortcuts,motif,C,Keyboard Shortcuts,Motif,这个最小的示例创建了一个带有按钮小部件的Motif窗口 #包括 int main(int argc,字符**argv){ XtAppContext应用程序; 控件顶级,b; char*translations=“Escape:ArmAndActivate()\n\ a:ArmAndActivate()”; toplevel=XtVaOpenApplication(&app,“tl”,NULL,0,&argc,argv,NULL, sessionShellWidgetClass,NULL); b=

这个最小的示例创建了一个带有按钮小部件的Motif窗口

#包括
int main(int argc,字符**argv){
XtAppContext应用程序;
控件顶级,b;
char*translations=“Escape:ArmAndActivate()\n\
a:ArmAndActivate()”;
toplevel=XtVaOpenApplication(&app,“tl”,NULL,0,&argc,argv,NULL,
sessionShellWidgetClass,NULL);
b=XtVaCreateManagedWidget(“按钮”,xmPushButtonWidgetClass,顶级,NULL);
XtOverrideTranslations(b,XtParseTranslationTable(translations));
XtRealizeWidget(顶级);
XtAppMainLoop(app);
返回(0);
}
Esc和a都映射到同一动作,
ArmAndActivate
,但小部件只响应按键,不响应 Esc如何使其响应Esc?请注意 根据
xev

,Escape确实是正确的键符号;从这个意义上说是的 已经“占用”。所以使用

osfCancel:ArmAndActivate()
可以通过
~/.motibind
文件修改虚拟绑定,请参阅和。

;从这个意义上说是的 已经“占用”。所以使用

osfCancel:ArmAndActivate()
可以通过
~/.motibind
文件修改虚拟绑定,请参阅和

<Key>osfCancel: ArmAndActivate()