gecko-dev/cmd/xfe/resources-translations

889 строки
61 KiB
Plaintext
Исходник Обычный вид История

! Translations
!
! Many of these translations are duplicated on both "Meta" and "Alt", since
! X has this stupid notion that "Meta" and "Alt" are not synonymous, and
! Sun in their infinite wisdom furthers this confusing lossage by both having
! Meta *and* Alt keys on the keyboard, and having the key which is labelled
! Alt generate *META* (the Diamond keys generate Alt.) All praise Sun!
! All praise the X keyboard model!
!
! And because of the need to do this, we have to do all of the keyboard
! equivalents with "translations" instead of "accelerators", since a menu
! item can only have one accelerator, and in order to make both Meta and Alt
! work we need to give them each two. All praise Motif!
! Keybindings in the main window which correspond to menu items.
! These are installed on every widget which is a child of our Shell,
! and are not installed on popups/transients.
!
*globalTranslations: #override \
\
m ~c <Key>A: xfeDoCommand(selectAll) \n\
a ~c <Key>A: xfeDoCommand(selectAll) \n\
m ~c <Key>B: xfeDoCommand(openBookmarks) \n\
a ~c <Key>B: xfeDoCommand(openBookmarks) \n\
m ~c <Key>C: xfeDoCommand(copy) \n\
a ~c <Key>C: xfeDoCommand(copy) \n\
m ~c <Key>D: undefined-key() \n\
a ~c <Key>D: undefined-key() \n\
m ~c <Key>E: undefined-key() \n\
a ~c <Key>E: undefined-key() \n\
m ~c <Key>F: undefined-key() \n\
a ~c <Key>F: undefined-key() \n\
m ~c <Key>G: undefined-key() \n\
a ~c <Key>G: undefined-key() \n\
m ~c <Key>H: xfeDoCommand(openHistory) \n\
a ~c <Key>H: xfeDoCommand(openHistory) \n\
m ~c <Key>I: undefined-key() \n\
a ~c <Key>I: undefined-key() \n\
m ~c <Key>J: undefined-key() \n\
a ~c <Key>J: undefined-key() \n\
m ~c <Key>K: xfeDoCommand(addBookmark) \n\
a ~c <Key>K: xfeDoCommand(addBookmark) \n\
m ~c <Key>L: undefined-key() \n\
a ~c <Key>L: undefined-key() \n\
m ~c <Key>m: xfeDoCommand(composeMessage) \n\
a ~c <Key>m: xfeDoCommand(composeMessage) \n\
~s m ~c <Key>n: xfeDoCommand(openBrowser) \n\
~s a ~c <Key>n: xfeDoCommand(openBrowser) \n\
s m ~c <Key>n: xfeDoCommand(newBlank) \n\
s a ~c <Key>n: xfeDoCommand(newBlank) \n\
m ~c <Key>O: undefined-key() \n\
a ~c <Key>O: undefined-key() \n\
m ~c <Key>P: undefined-key() \n\
a ~c <Key>P: undefined-key() \n\
m ~c <Key>Q: xfeDoCommand(exit) \n\
a ~c <Key>Q: xfeDoCommand(exit) \n\
m ~c <Key>R: undefined-key() \n\
a ~c <Key>R: undefined-key() \n\
m ~c <Key>S: xfeDoCommand(saveAs) \n\
a ~c <Key>S: xfeDoCommand(saveAs) \n\
m ~c <Key>T: undefined-key() \n\
a ~c <Key>T: undefined-key() \n\
m ~c <Key>U: undefined-key() \n\
a ~c <Key>U: undefined-key() \n\
m ~c <Key>V: xfeDoCommand(paste) \n\
a ~c <Key>V: xfeDoCommand(paste) \n\
m ~c <Key>W: xfeDoCommand(close) \n\
a ~c <Key>W: xfeDoCommand(close) \n\
m ~c <Key>X: xfeDoCommand(cut) \n\
a ~c <Key>X: xfeDoCommand(cut) \n\
m ~c <Key>Y: xfeDoCommand(paste) \n\
a ~c <Key>Y: xfeDoCommand(paste) \n\
m ~c <Key>Z: undefined-key() \n\
a ~c <Key>Z: undefined-key() \n\
\
~s m ~c <Key>1: xfeDoCommand(openOrBringUpBrowser) \n\
~s a ~c <Key>1: xfeDoCommand(openOrBringUpBrowser) \n\
s m ~c <Key>1: xfeDoCommand(openFolders) \n\
s a ~c <Key>1: xfeDoCommand(openFolders) \n\
~s m ~c <Key>2: xfeDoCommand(openInbox) \n\
~s a ~c <Key>2: xfeDoCommand(openInbox) \n\
s m ~c <Key>2: xfeDoCommand(openAddrBook) \n\
s a ~c <Key>2: xfeDoCommand(openAddrBook) \n\
m ~c <Key>3: xfeDoCommand(openNewsgroups) \n\
a ~c <Key>3: xfeDoCommand(openNewsgroups) \n\
m ~c <Key>4: xfeDoCommand(openEditor) \n\
a ~c <Key>4: xfeDoCommand(openEditor) \n\
m ~c <Key>5: xfeDoCommand(openConference) \n\
a ~c <Key>5: xfeDoCommand(openConference) \n\
m ~c <Key>6: xfeDoCommand(openCalendar) \n\
a ~c <Key>6: xfeDoCommand(openCalendar) \n\
m ~c <Key>7: xfeDoCommand(openHostOnDemand) \n\
a ~c <Key>7: xfeDoCommand(openHostOnDemand) \n\
m ~c <Key>8: xfeDoCommand(openNetcaster) \n\
a ~c <Key>8: xfeDoCommand(openNetcaster) \n\
\
~m ~a ~c <Key>Prior: PageUp() \n\
~m ~a ~c <Key>Next: PageDown() \n\
~m ~a ~c <Key>osfPageUp: PageUp() \n\
~m ~a ~c <Key>osfPageDown: PageDown() \n\
\
~m ~a ~c <Key>SunCopy: xfeDoCommand(copy) \n\
~m ~a ~c <Key>SunPaste: xfeDoCommand(paste) \n\
~m ~a ~c <Key>SunCut: xfeDoCommand(cut) \n\
\
~s ~m ~a ~c <Key>osfHelp: xfeDoCommand(manual) \n
! These used to be up above.
! Meta ~Ctrl<Key>Z: undo() \n\
! Alt ~Ctrl<Key>Z: undo() \n\
! These keysyms are apparently an R6ism.
! ~Meta ~Alt ~Ctrl<Key>KP_Prior: PageUp() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Next: PageDown() \n\
! Translations in the Navigator window.
*browserGlobalTranslations: #override \
m ~c <Key>F: xfeDoCommand(findInObject) \n\
a ~c <Key>F: xfeDoCommand(findInObject) \n\
m ~c <Key>G: xfeDoCommand(findAgain) \n\
a ~c <Key>G: xfeDoCommand(findAgain) \n\
~s m ~c <Key>i: xfeDoCommand(showImages) \n\
~s a ~c <Key>i: xfeDoCommand(showImages) \n\
s m ~c <Key>i: xfeDoCommand(viewSecurity) \n\
s a ~c <Key>i: xfeDoCommand(viewSecurity) \n\
m ~c <Key>L: xfeDoCommand(openPage) \n\
a ~c <Key>L: xfeDoCommand(openPage) \n\
~s m ~c <Key>o: xfeDoCommand(openPage) \n\
~s a ~c <Key>o: xfeDoCommand(openPage) \n\
s m ~c <Key>o: xfeDoCommand(openPageChooseFile) \n\
s a ~c <Key>o: xfeDoCommand(openPageChooseFile) \n\
m ~c <Key>P: xfeDoCommand(print) \n\
a ~c <Key>P: xfeDoCommand(print) \n\
m ~c <Key>R: xfeDoCommand(reload) \n\
a ~c <Key>R: xfeDoCommand(reload) \n\
m ~c <Key>minus: xfeDoCommand(decreaseFont) \n\
a ~c <Key>minus: xfeDoCommand(decreaseFont) \n\
m ~c <Key>plus: xfeDoCommand(increaseFont) \n\
a ~c <Key>plus: xfeDoCommand(increaseFont) \n\
\
m ~c <Key>osfLeft: xfeDoCommand(back) \n\
a ~c <Key>osfLeft: xfeDoCommand(back) \n\
m ~c <Key>osfRight: xfeDoCommand(forward) \n\
a ~c <Key>osfRight: xfeDoCommand(forward) \n\
<Key>Escape: xfeDoCommand(stopLoading) \n\
<Key>osfCancel: xfeDoCommand(stopLoading) \n
! Translations in the Mail & News window.
! Things here override the global translations (which are loaded first.)
! This changes:
! Alt+H from "View History" to "Deliver Mail Now"
! Alt+L from "Open URL" to "Forward Message"
! Alt+R from "Reload" to "Reply to Sender"
! Alt+O from "Open File" to undefined
! Alt+S from "Save As" to undefined
!
! This adds:
! Alt+Shift+A for "Select Thread"
! Alt+T for "Get New Mail"
! Alt+Shift+R for "Reply to All"
! Alt+D for "Delete Message"
! Alt+Y for "Redo"
!
! Alt arrow keys select previous/next.
! Alt+Shift arrow keys select previous/next unread.
! Meta+Shift arrow keys select previous/next marked.
!
*mailnewsGlobalTranslations: #override \
<Btn3Down>: xfeDoPopup() \n\
m ~c <Key>D: xfeDoCommand(deleteFolder) \n\
a ~c <Key>D: xfeDoCommand(deleteFolder) \n\
m ~c <Key>H: xfeDoCommand(deliverQueuedMessages) \n\
a ~c <Key>H: xfeDoCommand(deliverQueuedMessages) \n\
m ~c <Key>K: xfeDoCommand(compressFolders) \n\
a ~c <Key>K: xfeDoCommand(compressFolders) \n\
s m ~c <Key>f: xfeDoCommand(search) \n\
s a ~c <Key>f: xfeDoCommand(search) \n\
s m ~c <Key>i: xfeDoCommand(viewSecurity) \n\
s a ~c <Key>i: xfeDoCommand(viewSecurity) \n\
m ~c <Key>O: xfeDoCommand(openSelected) \n\
a ~c <Key>O: xfeDoCommand(openSelected) \n\
~s ~m ~a ~c <Key>Return: xfeDoCommand(openSelected) \n\
~s ~m ~a ~c <Key>osfActivate: xfeDoCommand(openSelected) \n\
m ~c <Key>T: xfeDoCommand(getNewMessages) \n\
a ~c <Key>T: xfeDoCommand(getNewMessages) \n\
m ~c <Key>Z: xfeDoCommand(undo) \n\
<Key>Escape: xfeDoCommand(stopLoading) \n
! Translations in the MailNews message and threads windows
! These override globalTranslations.
*messagewinGlobalTranslations: #override \
<Btn3Down>: xfeDoPopup() \n\
m ~c <Key>D: xfeDoCommand(deleteMessage) \n\
a ~c <Key>D: xfeDoCommand(deleteMessage) \n\
s m ~c <Key>i: xfeDoCommand(viewSecurity) \n\
s a ~c <Key>i: xfeDoCommand(viewSecurity) \n\
m ~c <Key>F: xfeDoCommand(findInObject) \n\
a ~c <Key>F: xfeDoCommand(findInObject) \n\
m ~c <Key>G: xfeDoCommand(findAgain) \n\
a ~c <Key>G: xfeDoCommand(findAgain) \n\
m ~c <Key>K: xfeDoCommand(compressFolders) \n\
a ~c <Key>K: xfeDoCommand(compressFolders) \n\
m ~c <Key>L: xfeDoCommand(forwardMessage) \n\
a ~c <Key>L: xfeDoCommand(forwardMessage) \n\
m ~c <Key>O: xfeDoCommand(openSelected) \n\
a ~c <Key>O: xfeDoCommand(openSelected) \n\
m ~c <Key>P: xfeDoCommand(print) \n\
a ~c <Key>P: xfeDoCommand(print) \n\
~s m ~c <Key>r: xfeDoCommand(replyToSender) \n\
~s a ~c <Key>r: xfeDoCommand(replyToSender) \n\
s m ~c <Key>r: xfeDoCommand(replyToAll) \n\
s a ~c <Key>r: xfeDoCommand(replyToAll) \n\
m ~c <Key>S: xfeDoCommand(saveMessagesAs) \n\
a ~c <Key>S: xfeDoCommand(saveMessagesAs) \n\
m ~c <Key>T: xfeDoCommand(getNewMessages) \n\
a ~c <Key>T: xfeDoCommand(getNewMessages) \n\
m ~c <Key>Y: xfeDoCommand(redo) \n\
a ~c <Key>Y: xfeDoCommand(redo) \n\
m ~c <Key>Z: xfeDoCommand(undo) \n\
a ~c <Key>Z: xfeDoCommand(undo) \n\
\
~s m ~c <Key>Up: xfeDoCommand(previousMessage) \n\
~s a ~c <Key>Up: xfeDoCommand(previousMessage) \n\
~s m ~c <Key>osfUp: xfeDoCommand(previousMessage) \n\
~s a ~c <Key>osfUp: xfeDoCommand(previousMessage) \n\
~s m ~c <Key>Down: xfeDoCommand(nextMessage) \n\
~s a ~c <Key>Down: xfeDoCommand(nextMessage) \n\
~s m ~c <Key>osfDown: xfeDoCommand(nextMessage) \n\
~s a ~c <Key>osfDown: xfeDoCommand(nextMessage) \n\
~s m ~c <Key>[: xfeDoCommand(back) \n\
~s a ~c <Key>[: xfeDoCommand(back) \n\
~s m ~c <Key>]: xfeDoCommand(forward) \n\
~s a ~c <Key>]: xfeDoCommand(forward) \n\
\
s m ~c <Key>Up: xfeDoCommand(previousUnreadMessage) \n\
s a ~c <Key>Up: xfeDoCommand(previousUnreadMessage) \n\
s m ~c <Key>osfUp: xfeDoCommand(previousUnreadMessage) \n\
s a ~c <Key>osfUp: xfeDoCommand(previousUnreadMessage) \n\
s m ~c <Key>Down: xfeDoCommand(nextUnreadMessage) \n\
s a ~c <Key>Down: xfeDoCommand(nextUnreadMessage) \n\
s m ~c <Key>osfDown: xfeDoCommand(nextUnreadMessage) \n\
s a ~c <Key>osfDown: xfeDoCommand(nextUnreadMessage) \n\
\
s c <Key>Up: xfeDoCommand(previousFlaggedMessage) \n\
s c <Key>osfUp: xfeDoCommand(previousFlaggedMessage) \n\
s c <Key>Down: xfeDoCommand(nextFlaggedMessage) \n\
s c <Key>osfDown: xfeDoCommand(nextFlaggedMessage) \n\
\
~s ~m ~a ~c <Key>Return: xfeDoCommand(openSelected) \n\
~s ~m ~a ~c <Key>osfActivate: xfeDoCommand(openSelected) \n\
\
s ~m ~a ~c <Key>8: xfeDoCommand(expandAll) \n\
~m ~a ~c <Key>plus: xfeDoCommand(expand) \n\
~s ~m ~a ~c <Key>slash: xfeDoCommand(collapseAll) \n\
~s ~m ~a ~c <Key>minus: xfeDoCommand(collapse) \n\
\
~m ~a <Key>M: xfeDoCommand(markMessageRead) \n\
~m ~a <Key>U: xfeDoCommand(markMessageUnread) \n\
~m ~a <Key>T: xfeDoCommand(markThreadRead) \n\
~m ~a <Key>G: xfeDoCommand(markAllMessagesRead) \n\
~m ~a <Key>D: xfeDoCommand(markMessageByDate) \n\
~m ~a <Key>L: xfeDoCommand(markMessageForLater) \n\
~m ~a <Key>K: xfeDoCommand(ignoreThread) \n\
~m ~a <Key>W: xfeDoCommand(watchThread) \n\
~s a ~c <Key>BackSpace: xfeDoCommand(deleteMessage) \n\
~s m ~c <Key>BackSpace: xfeDoCommand(deleteMessage) \n\
~s a ~c <Key>osfBackSpace: xfeDoCommand(deleteMessage) \n\
~s m ~c <Key>osfBackSpace: xfeDoCommand(deleteMessage) \n
! Translations in the MailCompose window.
! These are used instead of globalTranslations.
!
*mailcomposeGlobalTranslations: #override \
\
<Btn3Down>: xfeDoPopup() \n\
m ~c <Key>D: xfeDoCommand(delete) \n\
a ~c <Key>D: xfeDoCommand(delete) \n\
s m ~c <Key>i: xfeDoCommand(viewSecurity) \n\
s a ~c <Key>i: xfeDoCommand(viewSecurity) \n\
m ~c <Key>Return: xfeDoCommand(sendMessageNow) \n\
a ~c <Key>Return: xfeDoCommand(sendMessageNow) \n
! Translations in the AddressOutliner portion of the compose window:
!
! TraverseTranslations are for the recipient text field:
*addressOutlinerTraverseTranslations: #override \
:~s ~c <Key>osfDelete: TableTraverse(DELETE) \n\
:~s ~c <Key>Delete: TableTraverse(DELETE) \n\
:~s ~c <Key>BackSpace: TableTraverse(BACKSPACE) \n\
:~s ~c <Key>osfBackSpace: TableTraverse(BACKSPACE) \n\
~s ~c <Key>osfRight: TableTraverse(RIGHT) \n\
~s ~c <Key>osfLeft: TableTraverse(LEFT) \n\
<Key>osfInsert: TableTraverse(INSERT) \n\
~s ~c <Key>Insert: TableTraverse(INSERT) \n\
~s ~c <Key>osfBeginLine: TableTraverse(HOME) \n\
~s ~c <Key>Home: TableTraverse(HOME) \n\
~s ~c <Key>End: TableTraverse(END) \n\
~s ~c <Key>osfEndLine: TableTraverse(END) \n\
~s ~c <Key>osfUp: TableTraverse(UP) \n\
~s ~c <Key>osfDown: TableTraverse(DOWN) \n\
~s ~c <Key>Tab: TableTraverse(NEXT) \n\
s ~c <Key>Tab: TableTraverse(PREVIOUS) \n
! KeyTranslations are for the To/Cc/etc. field:
*addressOutlinerKeyTranslations: #override \
~s ~c <Key>osfRight: TableTraverse(RIGHT) \n\
~s ~c <Key>osfLeft: TableTraverse(LEFT) \n\
~s ~c <Key>osfDelete: TableTraverse(DELETE) \n\
~s ~c <Key>Delete: TableTraverse(DELETE) \n\
<Key>osfInsert: TableTraverse(INSERT) \n\
~s ~c <Key>Insert: TableTraverse(INSERT) \n\
~s ~c <Key>osfBeginLine: TableTraverse(HOME) \n\
~s ~c <Key>Home: TableTraverse(HOME) \n\
~s ~c <Key>End: TableTraverse(END) \n\
~s ~c <Key>osfEndLine: TableTraverse(END) \n\
~s ~c <Key>osfUp: TableTraverse(UP) \n\
~s ~c <Key>osfDown: TableTraverse(DOWN) \n\
~s ~c <Key>Tab: TableTraverse(NEXT) \n\
s ~c <Key>Tab: TableTraverse(PREVIOUS) \n\
~s ~c <Key>t: KeyIn(To:) \n\
s ~c <Key>t: KeyIn(To:) \n\
~s ~c <Key>c: KeyIn(Cc:) \n\
s ~c <Key>c: KeyIn(Cc:) \n\
~s ~c <Key>b: KeyIn(Bcc:) \n\
s ~c <Key>b: KeyIn(Bcc:) \n\
~s ~c <Key>n: KeyIn(Newsgroup:) \n\
s ~c <Key>n: KeyIn(Newsgroup:) \n\
~s ~c <Key>f: KeyIn(Followup To:) \n\
s ~c <Key>f: KeyIn(Followup To:) \n\
~s ~c <Key>r: KeyIn(Reply To:) \n\
s ~c <Key>r: KeyIn(Reply To:) \n
! Translations in the MailNews Search window.
! These are used instead of globalTranslations.
!
*mnsearchGlobalTranslations: #override \
<Btn3Down>: xfeDoPopup() \n\
m ~c <Key>D: xfeDoCommand(deleteMessage) \n\
a ~c <Key>D: xfeDoCommand(deleteMessage) \n
! Translations in the Bookmarks and Adderssbook window.
! These translations are used instead of globalTranslations.
! None of the key *semantics* of globalTranslations are changed here,
! only the actions bound. (And inapplicable actions are not present.)
!
*navcenterGlobalTranslations #override \
~m ~a ~c <Key>space: PageDown() \n\
m ~c <Key>D: xfeDoCommand(delete) \n\
a ~c <Key>D: xfeDoCommand(delete) \n\
m ~c <Key>F: xfeDoCommand(findInObject) \n\
a ~c <Key>F: xfeDoCommand(findInObject) \n\
m ~c <Key>G: xfeDoCommand(findAgain) \n\
a ~c <Key>G: xfeDoCommand(findAgain) \n\
m ~c <Key>O: xfeDoCommand(openSelected) \n\
a ~c <Key>O: xfeDoCommand(openSelected) \n\
~s ~m ~a ~c <Key>Up: LineUp() \n\
~s ~m ~a ~c <Key>Down: LineDown() \n\
~s ~m ~a ~c <Key>osfUp: LineUp() \n\
~s ~m ~a ~c <Key>osfDown: LineDown() \n\
~m ~a ~c <Key>Prior: PageUp() \n\
~m ~a ~c <Key>Next: PageDown() \n\
~m ~a ~c <Key>osfPageUp: PageUp() \n\
~m ~a ~c <Key>osfPageDown: PageDown() \n
! These used to be in the bookmark translations. navcenter probably
! should have equivalents
! s ~m ~a ~c <Key>Up: xfeDoCommand(moveBookmarkUp) \n\
! s ~m ~a ~c <Key>Down: xfeDoCommand(moveBookmarkDown) \n\
! s ~m ~a ~c <Key>osfUp: xfeDoCommand(moveBookmarkUp) \n\
! s ~m ~a ~c <Key>osfDown: xfeDoCommand(moveBookmarkDown) \n\
*abGlobalTranslations: #override \
<Btn3Down>: xfeDoPopup() \n\
m ~c <Key>D: xfeDoCommand(abDeleteEntry) \n\
a ~c <Key>D: xfeDoCommand(abDeleteEntry) \n\
m ~c <Key>Y: xfeDoCommand(redo) \n\
a ~c <Key>Y: xfeDoCommand(redo) \n\
m ~c <Key>Z: xfeDoCommand(undo) \n\
a ~c <Key>Z: xfeDoCommand(undo) \n
! Translations in the textfield portion of the mailing list view
!
! TraverseTranslations are for the text field:
*abmlistTraverseTranslations: #override \
~s ~c <Key>BackSpace: TableTraverse(BACKSPACE) \n\
~s ~c <Key>Tab: TableTraverse(NEXT) \n\
s ~c <Key>Tab: TableTraverse(PREVIOUS) \n
!
! Translations for document source window
*dialogGlobalTranslations: #override \
m ~c <Key>W: xfeDoCommand(close) \n\
a ~c <Key>W: xfeDoCommand(close) \n
! Mouse bindings in the HTML display area.
!
*drawingArea.translations: #replace \
<Btn1Down>: ArmLink() \n\
<Btn2Down>: ArmLink() \n\
~s <Btn1Up>: ActivateLink() \n\
~s <Btn2Up>: ActivateLink(new-window) DisarmLink() \n\
s <Btn1Up>: ActivateLink(save-only) DisarmLink() \n\
s <Btn2Up>: ActivateLink(save-only) DisarmLink() \n\
<Btn1Motion>: DisarmLinkIfMoved() \n\
<Btn2Motion>: DisarmLinkIfMoved() \n\
<Btn3Motion>: DisarmLinkIfMoved() \n\
<Motion>: DescribeLink() \n\
<Btn3Down>: xfeDoPopup() \n
! Some basic emacs-like bindings for text fields.
!
! "editingTranslations" are merged into all XmText and XmTextField widgets.
! Then, either "multiLinEditingTranslations" or "singleLinEditingTranslations"
! are merged in, depending on whether it is an XmText or XmTextField widget.
! These resources are merged in after "globalTranslations", so it is possible
! for them to override the menu accelerators.
!
! Problems:
! = I don't understand why the "Ctrl<Key>g" binding does nothing.
! = I wish things like `C-k C-k C-k C-n C-k C-k C-y' did the right thing.
! = This doesn't quite do active regions right, in that C-SPC M-f doesn't
! leave the word highlighted (though it does leave a region set.)
! Basically, XmText is not Emacs, and we therefore exist in a world of pain.
!
! NOTE: if you're looking here because BackSpace and Delete aren't
! working the way you think they should, then you need to run
! xmodmap or xkeycaps to fix your keyboard, or mess read the man
! page for VirtualBindings(1). For details, see the @NAME@ FAQ
! (available from the Help menu.)
!
*editingTranslations: #override \
m ~c <Key>A: select-all() \n\
a ~c <Key>A: select-all() \n\
~m ~a c <Key>a: beginning-of-line() \n\
s ~m ~a c <Key>a: beginning-of-line(extend) \n\
~s ~m ~a c <Key>b: backward-character() \n\
s ~m ~a c <Key>b: backward-character(extend) \n\
~m ~a c <Key>d: delete-next-character() \n\
~s ~m ~a c <Key>e: end-of-line() \n\
s ~m ~a c <Key>e: end-of-line(extend) \n\
~s ~m ~a c <Key>f: forward-character() \n\
s ~m ~a c <Key>f: forward-character(extend) \n\
~m ~a c <Key>g: process-cancel() \n\
~m ~a c <Key>h: delete-previous-character() \n\
~m ~a c <Key>space: set-anchor() \n\
~m ~a c <Key>2: set-anchor() \n\
~m ~a c <Key>@: set-anchor() \n\
\
~s m ~c <Key>b: backward-word() \n\
~s a ~c <Key>b: backward-word() \n\
s m ~c <Key>b: backward-word(extend) \n\
s a ~c <Key>b: backward-word(extend) \n\
~s m ~c <Key>f: forward-word() \n\
~s a ~c <Key>f: forward-word() \n\
s m ~c <Key>f: forward-word(extend) \n\
s a ~c <Key>f: forward-word(extend) \n\
~s m ~c <Key>osfLeft: backward-word() \n\
~s a ~c <Key>osfLeft: backward-word() \n\
s m ~c <Key>osfLeft: backward-word(extend) \n\
s a ~c <Key>osfLeft: backward-word(extend) \n\
~s m ~c <Key>osfRight: forward-word() \n\
~s a ~c <Key>osfRight: forward-word() \n\
s m ~c <Key>osfRight: forward-word(extend) \n\
s a ~c <Key>osfRight: forward-word(extend) \n
! <KeyUp>: KeyUpInText() \n
! Meta ~Ctrl <Key>w: copy-clipboard() \n\
! Alt ~Ctrl <Key>w: copy-clipboard() \n\
! Translations that apply only to javascript form element text fields;
! This translation should only be added for text fields that is shown in a
! script page.
! SHOULD NOT apply this translation to any regular motif text field.
! because it will trigger the javascript layout stuff and introduce crash.
*formElemEditingTranslations: #override \
<KeyUp>: KeyUpInText() \n
! Translations that apply only to single-line fields; see above.
!
! Ctrl-U clears the current line only in single-line fields. Unix
! command-line weenies expect this, even though everyone knows Ctrl-U
! should mean "prefix argument".
!
! In single-line fields, the various killing commands are really deletion
! commands instead (that is, they don't affect the Clipboard and are not
! undoable with Ctrl-y) because the XmTextField widget does not provide
! kill commands -- only the XmText widget does. (What the hell is up with
! that...) Maybe we could get around this by never using XmTextField, and
! only using XmText with editMode set to SINGLE_LINE_EDIT, but that might
! have other unexpected effects...
!
! I thought of making Meta-d be `set-anchor() forward-word() cut-clipboard()',
! but that doesn't work, because forward-word takes the whitespace after the
! word as well, instead of stopping before the whitespace.
!
! Similarly, Ctrl-k can't be implemented with
! `set-anchor() end-of-line(extend) cut-clipboard() delete-selection()'
! because that has the side effect of (temporarily) owning the selection,
! which would make it impossible to: select text in another application;
! type C-k at Mozilla; Click middle to paste. The paste would be impossible
! because C-k would have cleared the selection.
!
*singleLineEditingTranslations: #override \
m ~a ~c <Key>x: xfeDoText(cut) \n\
m ~a ~c <Key>c: xfeDoText(copy) \n\
m ~a ~c <Key>v: xfeDoText(paste) \n\
m ~a ~c <Key>y: xfeDoText(paste) \n\
\
~m a ~c <Key>x: xfeDoText(cut) \n\
~m a ~c <Key>c: xfeDoText(copy) \n\
~m a ~c <Key>v: xfeDoText(paste) \n\
~m a ~c <Key>y: xfeDoText(paste) \n\
\
~m ~a c <Key>y: xfeDoText(paste) \n\
\
~m ~a ~c <Key>SunCopy: xfeDoText(copy) \n\
~m ~a ~c <Key>SunPaste: xfeDoText(paste) \n\
~m ~a ~c <Key>SunCut: xfeDoText(cut) \n\
\
~m ~a c <Key>u: beginning-of-line() delete-to-end-of-line() \n\
~m ~a c <Key>k: delete-to-end-of-line() \n\
~m ~a c <Key>l: xfeDoCommand(refresh) \n\
~m ~a c <Key>w: key-select() delete-selection() \n\
m ~c <Key>d: delete-next-word() \n\
a ~c <Key>d: delete-next-word() \n\
a ~c <Key><: set-anchor() beginning-of-line() \n\
m ~c <Key><: set-anchor() beginning-of-line() \n\
a ~c <Key>>: set-anchor() end-of-line() \n\
m ~c <Key>>: set-anchor() end-of-line() \n\
~a c <Key><: set-anchor() beginning-of-line(extend) \n\
~m c <Key><: set-anchor() beginning-of-line(extend) \n\
~a c <Key>>: set-anchor() end-of-line(extend) \n\
~m c <Key>>: set-anchor() end-of-line(extend) \n\
m ~c <Key>osfBackSpace: delete-previous-word() \n\
a ~c <Key>osfBackSpace: delete-previous-word() \n\
m ~c <Key>osfDelete: delete-next-word() \n\
a ~c <Key>osfDelete: delete-next-word() \n\
\
~m ~a ~c <Key>osfLeft: deselect-all() backward-character() \n\
~m ~a ~c <Key>osfRight: deselect-all() forward-character() \n
! Translations that apply only to multi-line fields; see above.
! Most of these are here because they are commands that only apply when
! the text area has multiple lines in it, but see above comment about
! "kill" commands versus "delete" commands.
!
! NOTE... [ had to modify the following to prevent overriding paste ]
!
! Meta ~Ctrl ~Shift<Key>v: previous-page() \n\
! Alt ~Ctrl ~Shift<Key>v: previous-page() \n\
!
*multiLineEditingTranslations: #override \
m ~a ~c <Key>x: xfeDoText(cut) \n\
m ~a ~c <Key>c: xfeDoText(copy) \n\
m ~a ~c <Key>v: xfeDoText(paste) \n\
m ~a ~c <Key>y: xfeDoText(paste) \n\
\
~m a ~c <Key>x: xfeDoText(cut) \n\
~m a ~c <Key>c: xfeDoText(copy) \n\
~m a ~c <Key>v: xfeDoText(paste) \n\
~m a ~c <Key>y: xfeDoText(paste) \n\
\
~m ~a c <Key>y: xfeDoText(paste) \n\
\
~m ~a ~c <Key>SunCopy: xfeDoText(copy) \n\
~m ~a ~c <Key>SunPaste: xfeDoText(paste) \n\
~m ~a ~c <Key>SunCut: xfeDoText(cut) \n\
\
~m ~a c <Key>k: kill-to-end-of-line() \n\
~m ~a c <Key>w: key-select() kill-selection() \n\
~m ~a c <Key>y: unkill() \n\
m ~c <Key>d: kill-next-word() \n\
a ~c <Key>d: kill-next-word() \n\
~m ~a c <Key>l: redraw-display() xfeDoCommand(refresh) \n\
m ~c <Key>osfBackSpace: kill-previous-word() \n\
a ~c <Key>osfBackSpace: kill-previous-word() \n\
m ~c <Key>osfDelete: kill-next-word() \n\
a ~c <Key>osfDelete: kill-next-word() \n\
\
~m ~a c <Key>j: newline-and-indent() \n\
~m ~a c <Key>o: newline-and-backup() \n\
~s ~m ~a c <Key>n: next-line() \n\
s ~m ~a c <Key>n: next-line(extend) \n\
~s ~m ~a c <Key>p: previous-line() \n\
s ~m ~a c <Key>p: previous-line(extend) \n\
~s ~m ~a c <Key>v: next-page() \n\
s ~m ~a c <Key>v: next-page(extend) \n\
~s m c <Key>v: previous-page() \n\
~s a c <Key>v: previous-page() \n\
s m ~c <Key>v: previous-page(extend) \n\
s a ~c <Key>v: previous-page(extend) \n\
~s a ~c <Key>[: backward-paragraph() \n\
~s m ~c <Key>[: backward-paragraph() \n\
s a ~c <Key>[: backward-paragraph(extend) \n\
s m ~c <Key>[: backward-paragraph(extend) \n\
~s a ~c <Key>]: forward-paragraph() \n\
~s m ~c <Key>]: forward-paragraph() \n\
s a ~c <Key>]: forward-paragraph(extend) \n\
s m ~c <Key>[: forward-paragraph(extend) \n\
a ~c <Key><: set-anchor() beginning-of-file() \n\
m ~c <Key><: set-anchor() beginning-of-file() \n\
a ~c <Key>>: set-anchor() end-of-file() \n\
m ~c <Key>>: set-anchor() end-of-file() \n\
~a c <Key><: set-anchor() beginning-of-file(extend) \n\
~m c <Key><: set-anchor() beginning-of-file(extend) \n\
~a c <Key>>: set-anchor() end-of-file(extend) \n\
~m c <Key>>: set-anchor() end-of-file(extend) \n\
~m ~a ~c <Key>Prior: previous-page() \n\
~m ~a ~c <Key>Next: next-page() \n\
~m ~a ~c <Key>osfPageUp: previous-page() \n\
~m ~a ~c <Key>osfPageDown: next-page() \n\
c <Key>/: undefined-key() \n
! Since these get merged in first, all the other bindings override them.
! This is just so that undefined non-self-inserting keys beep.
! (Except that this doesn't really work that well, so nevermind.)
!*XmText.translations: #override \n\
! Ctrl <Key>: undefined-key() \n\
! Meta <Key>: undefined-key() \n\
! Alt <Key>: undefined-key() \n
!*XmTextField.translations: #override \n\
! Ctrl <Key>: undefined-key() \n\
! Meta <Key>: undefined-key() \n\
! Alt <Key>: undefined-key() \n
! We merge these translations into all text fields which are not the
! bottommost text field in a dialog box (transient popup.) This is so that
! hitting `return' in a text field will select the next text field if there
! is one, and will select the "OK" button if there are no more.
!
*nonterminalTextTranslations: #override \
<Key>Return: next-tab-group() \n\
<Key>Linefeed: next-tab-group() \n
! This is used for self-submitting text fields in HTML forms (not popups.)
! We don't need to store these in to dialog box text fields, since in that
! case we are able to simply avoid storing in the above ones, but we don't
! know that until too late with forms.
*terminalTextTranslations: #override \
<Key>Return: activate() \n\
<Key>Linefeed: activate() \n
! These translations are installed on every TextField widget in the main tree,
! but *not* on text fields in dialogs, or in the mail composition window
! (that's the difference between this and singleLineEditingTranslations.)
*globalTextFieldTranslations: #override \
~m ~a ~c <Key>Up: LineUp() \n\
~m ~a ~c <Key>Down: LineDown() \n\
~m ~a ~c <Key>osfUp: LineUp() \n\
~m ~a ~c <Key>osfDown: LineDown() \n
! These keysyms are apparently an R6ism.
! ~Meta ~Alt ~Ctrl<Key>KP_Up: LineUp() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Down: LineDown() \n\
! We install these on every widget in the main tree (but not popups) that isn't
! a Text or TextField or List.These, basically, are motion commands that ought
! to apply to the HTML display area unless some text field or List has focus,
! in which case they ought to apply to the text in that text field instead.
! Doesn't all this crap just make you want to hurl?
*globalNonTextTranslations: #override \
~m ~a ~c <Key>space: xfeDoCommand(spacebar) \n\
\
~m ~a ~c <Key>Delete: PageUp() \n\
~m ~a ~c <Key>BackSpace: PageUp() \n\
~m ~a ~c <Key>Up: LineUp() \n\
~m ~a ~c <Key>Down: LineDown() \n\
~m ~a ~c <Key>Left: ColumnLeft() \n\
~m ~a ~c <Key>Right: ColumnRight() \n\
\
~m ~a ~c <Key>osfDelete: PageUp() \n\
~m ~a ~c <Key>osfBackSpace: PageUp() \n\
m c <Key>g: fishcam() \n\
a c <Key>g: fishcam() \n\
m c <Key>t: net_showstatus() \n\
a c <Key>t: net_showstatus() \n\
~m ~a ~c <Key>osfUp: LineUp() \n\
~m ~a ~c <Key>osfDown: LineDown() \n\
~m ~a ~c <Key>osfLeft: ColumnLeft() \n\
~m ~a ~c <Key>osfRight: ColumnRight() \n\
\
~m ~a ~c <Key>Prior: PageUp() \n\
~m ~a ~c <Key>Next: PageDown() \n\
~m ~a ~c <Key>osfPageUp: PageUp() \n\
~m ~a ~c <Key>osfPageDown: PageDown() \n
! These keysyms are apparently an R6ism.
! ~Meta ~Alt ~Ctrl<Key>KP_Up: LineUp() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Down: LineDown() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Left: ColumnLeft() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Right: ColumnRight() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Prior: PageUp() \n\
! ~Meta ~Alt ~Ctrl<Key>KP_Next: PageDown() \n\
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Editor mouse translations
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*editorDrawingArea.translations: #replace \
<Btn3Down>: xfeDoCommand(showPopup) \n\
s <Btn1Down>: xfeDoCommand(select,extend) \n\
<Btn1Down>: xfeDoClick(single,{,select,grab,}, \
double,{,objectIs, text, {,select,word,}, \
image, {,dialog,image,}, \
hrule, {,dialog,hrule,}, \
table, {,dialog,table,}, \
target,{,dialog,target,}, \
tag, {,dialog,tag,},}) \n\
<Btn1Motion>: xfeDoCommand(select,extend) \n\
<Btn1Up>: xfeDoCommand(select,end) \n\
<Btn2Down>: xfeDoCommand(paste,selection) \n\
<Btn2Motion>: \n\
<Btn2Up>: \n\
<Motion>: editor-motion() \n
! Editor keyboard translations.
*editorTranslations: #override \
\
~s m ~c <Key>o: xfeDoCommand(openPage) \n\
~s a ~c <Key>o: xfeDoCommand(openPage) \n\
s m ~c <Key>o: xfeDoCommand(openPageChooseFile) \n\
s a ~c <Key>o: xfeDoCommand(openPageChooseFile) \n\
m ~c <Key>s: xfeDoCommand(save) \n\
a ~c <Key>s: xfeDoCommand(save) \n\
m ~c <Key>r: xfeDoCommand(reload) \n\
a ~c <Key>r: xfeDoCommand(reload) \n\
s m ~c <Key>r: xfeDoCommand(reload,super) \n\
s a ~c <Key>r: xfeDoCommand(reload,super) \n\
m ~c <Key>P: xfeDoCommand(print) \n\
a ~c <Key>P: xfeDoCommand(print) \n\
\
~m ~a c <Key>h: xfeDoCommand(deleteItem,previous) \n\
m ~c <Key>Return: xfeDoCommand(sendMessageNow) \n\
a ~c <Key>Return: xfeDoCommand(sendMessageNow) \n\
~m ~a ~c <Key>Up: xfeDoCommand(moveCursor,up) \n\
~m ~a ~c <Key>Down: xfeDoCommand(moveCursor,down) \n\
~m ~a ~c <Key>osfUp: xfeDoCommand(moveCursor,up) \n\
~m ~a ~c <Key>osfDown: xfeDoCommand(moveCursor,down) \n\
~m ~a ~c <Key>osfLeft: xfeDoCommand(moveCursor,previous) \n\
~m ~a ~c <Key>osfRight: xfeDoCommand(moveCursor,next) \n\
~m ~a c <Key>osfLeft: xfeDoCommand(moveCursor,previousWord) \n\
~m ~a c <Key>osfRight: xfeDoCommand(moveCursor,nextWord) \n\
\
: ~m ~a ~c <Key>Delete: xfeDoCommand(deleteItem,next) \n\
: ~m ~a ~c <Key>BackSpace: xfeDoCommand(deleteItem,previous) \n\
: ~m ~a ~c <Key>osfDelete: xfeDoCommand(deleteItem,next) \n\
: ~m ~a ~c <Key>osfBackSpace: xfeDoCommand(deleteItem,previous) \n\
\
~m ~a c <Key>Home: xfeDoCommand(moveCursor,beginningOfPage) \n\
~m ~a c <Key>End: xfeDoCommand(moveCursor,endOfPage) \n\
~m ~a c <Key>osfBeginLine: xfeDoCommand(moveCursor,beginningOfPage) \n\
~m ~a c <Key>osfEndLine: xfeDoCommand(moveCursor,endOfPage) \n\
~m ~a ~c <Key>Home: xfeDoCommand(moveCursor,beginningOfLine) \n\
~m ~a ~c <Key>End: xfeDoCommand(moveCursor,endOfLine) \n\
~m ~a ~c <Key>osfBeginLine: xfeDoCommand(moveCursor,beginOfLine) \n\
~m ~a ~c <Key>osfEndLine: xfeDoCommand(moveCursor,endOfLine) \n\
s ~m ~a ~c <Key>Return: xfeDoCommand(insertLineBreak,normal) \n\
~m ~a ~c <Key>Return: xfeDoCommand(insertReturn) \n\
s ~m ~a ~c <Key>space: xfeDoCommand(insertNonBreakingSpace) \n\
~m ~a ~c <Key>space: xfeDoCommand(insertKey) \n\
~m a ~c <Key>-: xfeDoCommand(outdent) \n\
~m a ~c <Key>=: xfeDoCommand(indent) \n\
m ~a ~c <Key>-: xfeDoCommand(outdent) \n\
m ~a ~c <Key>=: xfeDoCommand(indent) \n\
\
~s c <Key>Tab: xfeDoCommand(tab,insert) \n\
~s ~c <Key>Tab: xfeDoCommand(tab,forward) \n\
s ~c <Key>Tab: xfeDoCommand(tab,backward) \n\
\
~m ~a c <Key>a: xfeDoCommand(moveCursor,beginningOfLine) \n\
~m ~a c <Key>e: xfeDoCommand(moveCursor,endOfLine) \n\
~m ~a c <Key>p: xfeDoCommand(moveCursor,up) \n\
~m ~a c <Key>n: xfeDoCommand(moveCursor,down) \n\
~m ~a c <Key>b: xfeDoCommand(moveCursor,previous) \n\
~m ~a c <Key>f: xfeDoCommand(moveCursor,next) \n\
~m ~a c <Key>d: xfeDoCommand(deleteItem,next) \n\
~m ~a c <Key>k: xfeDoCommand(deleteItem,endOfLine) \n\
m ~a ~c <Key><: xfeDoCommand(moveCursor,beginningOfPage) \n\
m ~a ~c <Key>>: xfeDoCommand(moveCursor,endOfPage) \n\
~m a ~c <Key><: xfeDoCommand(moveCursor,beginningOfPage) \n\
~m a ~c <Key>>: xfeDoCommand(moveCursor,endOfPage) \n\
\
s m ~c <Key>z: xfeDoCommand(redo) \n\
s a ~c <Key>z: xfeDoCommand(redo) \n\
m ~c <Key>z: xfeDoCommand(undo) \n\
a ~c <Key>z: xfeDoCommand(undo) \n\
\
m ~a ~c <Key>b: xfeDoCommand(toggleCharacterStyle,bold) \n\
~m a ~c <Key>b: xfeDoCommand(toggleCharacterStyle,bold) \n\
m ~a ~c <Key>i: xfeDoCommand(toggleCharacterStyle,italic) \n\
~m a ~c <Key>i: xfeDoCommand(toggleCharacterStyle,italic) \n\
m ~a ~c <Key>u: xfeDoCommand(toggleCharacterStyle,underline)\n\
~m a ~c <Key>u: xfeDoCommand(toggleCharacterStyle,underline)\n\
m ~a ~c <Key>t: xfeDoCommand(toggleCharacterStyle,fixed) \n\
~m a ~c <Key>t: xfeDoCommand(toggleCharacterStyle,fixed) \n\
m ~a ~c <Key>k: xfeDoCommand(setCharacterStyle,none) \n\
~m a ~c <Key>k: xfeDoCommand(setCharacterStyle,none) \n\
\
~m ~a c <Key>l: xfeDoCommand(refresh) \n\
\
~s m ~a ~c <Key>Up: xfeDoCommand(setFontSize,increase) \n\
~s m ~a ~c <Key>osfUp: xfeDoCommand(setFontSize,increase) \n\
~s m ~a ~c <Key>Down: xfeDoCommand(setFontSize,decrease) \n\
~s m ~a ~c <Key>osfDown: xfeDoCommand(setFontSize,decrease) \n\
\
~m ~a ~c <Key>SunCopy: xfeDoCommand(copy) \n\
~m ~a ~c <Key>SunPaste: xfeDoCommand(paste) \n\
~m ~a ~c <Key>SunCut: xfeDoCommand(cut) \n\
\
~s m ~a ~c <Key>d: xfeDoCommand(deleteItem) \n\
~s ~m a ~c <Key>d: xfeDoCommand(deleteItem) \n\
\
~s m ~a ~c <Key>f: xfeDoCommand(findInObject) \n\
~s m ~a ~c <Key>g: xfeDoCommand(findAgain) \n\
~s ~m a ~c <Key>f: xfeDoCommand(findInObject) \n\
~s ~m a ~c <Key>g: xfeDoCommand(findAgain) \n\
\
m ~c <Key>A: xfeDoCommand(selectAll) \n\
a ~c <Key>A: xfeDoCommand(selectAll) \n\
m ~c <Key>C: xfeDoCommand(copy) \n\
a ~c <Key>C: xfeDoCommand(copy) \n\
m ~c <Key>H: xfeDoCommand(openHistory) \n\
a ~c <Key>H: xfeDoCommand(openHistory) \n\
m ~c <Key>m: xfeDoCommand(composeMessage) \n\
a ~c <Key>m: xfeDoCommand(composeMessage) \n\
~s m ~c <Key>n: xfeDoCommand(openBrowser) \n\
~s a ~c <Key>n: xfeDoCommand(openBrowser) \n\
s m ~c <Key>n: xfeDoCommand(newBlank) \n\
s a ~c <Key>n: xfeDoCommand(newBlank) \n\
m ~c <Key>Q: xfeDoCommand(exit) \n\
a ~c <Key>Q: xfeDoCommand(exit) \n\
m ~c <Key>R: undefined-key() \n\
a ~c <Key>R: undefined-key() \n\
m ~c <Key>V: xfeDoCommand(paste) \n\
a ~c <Key>V: xfeDoCommand(paste) \n\
m ~c <Key>W: xfeDoCommand(close) \n\
a ~c <Key>W: xfeDoCommand(close) \n\
m ~c <Key>X: xfeDoCommand(cut) \n\
a ~c <Key>X: xfeDoCommand(cut) \n\
m ~c <Key>Y: xfeDoCommand(paste) \n\
a ~c <Key>Y: xfeDoCommand(paste) \n\
\
~s m ~c <Key>1: xfeDoCommand(openOrBringUpBrowser) \n\
~s a ~c <Key>1: xfeDoCommand(openOrBringUpBrowser) \n\
s m ~c <Key>1: xfeDoCommand(openFolders) \n\
s a ~c <Key>1: xfeDoCommand(openFolders) \n\
~s m ~c <Key>2: xfeDoCommand(openInbox) \n\
~s a ~c <Key>2: xfeDoCommand(openInbox) \n\
s m ~c <Key>2: xfeDoCommand(openAddrBook) \n\
s a ~c <Key>2: xfeDoCommand(openAddrBook) \n\
m ~c <Key>3: xfeDoCommand(openNewsgroups) \n\
a ~c <Key>3: xfeDoCommand(openNewsgroups) \n\
m ~c <Key>4: xfeDoCommand(openEditor) \n\
a ~c <Key>4: xfeDoCommand(openEditor) \n\
m ~c <Key>5: xfeDoCommand(openConference) \n\
a ~c <Key>5: xfeDoCommand(openConference) \n\
m ~c <Key>6: xfeDoCommand(openCalendar) \n\
a ~c <Key>6: xfeDoCommand(openCalendar) \n\
m ~c <Key>7: xfeDoCommand(openHostOnDemand) \n\
a ~c <Key>7: xfeDoCommand(openHostOnDemand) \n\
m ~c <Key>8: xfeDoCommand(openNetcaster) \n\
a ~c <Key>8: xfeDoCommand(openNetcaster) \n\
\
~m ~a ~c <Key>Prior: PageUp() \n\
~m ~a ~c <Key>Next: PageDown() \n\
~m ~a ~c <Key>osfPageUp: PageUp() \n\
~m ~a ~c <Key>osfPageDown: PageDown() \n\
\
~s ~m ~a ~c <Key>osfHelp: xfeDoCommand(manual) \n\
\
~s ~m ~a ~c <Key>F10: \n\
~s ~m ~a ~c <Key>osfMenuBar: \n\
\
<KeyRelease>: \n\
<Key>: xfeDoCommand(insertKey) \n\
<KeyPress>: xfeDoCommand(insertKey) \n\
<KeyUp>: \n\
<KeyDown>: xfeDoCommand(insertKey) \n
!=============================================================================