y2@DINORAH.WUSTL.EDU (Yeong-Yeong Liu) (11/30/88)
I had an application written with X11.2. It has multiple command widgets and their common parent is a form widget named "mainwidget". I needed the flexibility of activating any of the commands by either striking a unique key on keyboard or by focusing and clicking the mouse. The way I did it was binding a set of keys (one key for each command, user selectable) to their parent, "mainwidget". Whenever the mouse is inside mainwidget, striking the appropriate key will activate the command. Everything was fine with release 2. Without any source change, the application broke after I recompiled it with R3. Running under dbx, the translation string bound to "mainwidget" looked like this: "<Key>R :set(353028) rfunc() unset(353028) \n <Key>I :set(357380) ifunc(RPEN1) unset(357380) \n <Key>T :set(357636) tfunc(RDCENTR0) unset(357636) \n <Key>P :set(357892) pfunc(RPMA1) unset(357892) \n <Key>S :set(358148) sfunc(RSMA1) unset(358148) \n <Key>U :set(358404) utility(RUTL1) unset(358404) \n <Key>B :set(358660) batch(RPQMM) unset(358660) \n <Key>Q :set(358916) quit() unset(358916) " I used XtAddActions(actionsTable,actionsTableCount); XtOverrideTranslations(keyparent, XtParseTranslationTable(transtring)); where actionsTable sets {"quit", Quit}, {"set", Set}, {"unset", Unset}, etc. keyparent is "mainwidget", while transtring is tranlation string above. My problem is that my callback Set function was never dispatched (I set stop at first executable line in subroutine Set and program never stopped after a key struck). Any idea what's wrong? Where or how to look? Is R3 getting sick from my translation table so that it does not dispatch when it should? Suggestions appreciated. Thanks. Yeong Yeong Liu {uunet...}!wucs1!dinorah!y2 or wucs1.wustl.edu!dinorah!y2 or y2@dinorah.wustl.edu or 314-362-2950