Opened 7 years ago

Last modified 3 years ago

#44 accepted enhancement

Add ability to filter certain keys (so the shell doesn't try to process them)

Reported by: Lewis Rosenthal Owned by: Gregg Young
Priority: minor Milestone: Version-3.10
Component: Base Version: 3.08
Keywords: Cc:

Description

4OS2 full screen session apparently tries to process Alt-Tab as a valid character, and beeps. What is desired is the Alt-Tab be passed to the system (in this case, to call the lSwitcher task list, though Alt-Tab should be passed to OS/2, anyway, as that is the standard "next window" command).

At a minimum, Alt-Tab should be filtered, but ideally, a list of such keys/combinations should be added to 4os2.ini to allow skipping them.

Such filtering could be added to the ALIAS command, such that:

alias @Alt-Tab = @ignore

(or some keyword to allow the keystroke to not be processed by 4OS2).

4OS2 already skips processing Ctrl-Esc, Alt-Esc, and Ctrl-S. This would allow for adding additional entries to this list.

Finally, left-Alt and right-Alt may be mapped differently. I can find no way to specify one Alt key vs the other.

Change History (5)

comment:1 by Steven Levine, 6 years ago

Milestone: Version-3.09Version-3.10

Ticket retargeted after milestone closed

comment:2 by Gregg Young, 3 years ago

Alt-Tab work as expect for lSwitcher in a 4OS2 full screen session here. Are you sure something else isn't grabbing the key.

From the help:

"If you want to use one of the command-line keys for an alias instead of its normal meaning, you must first disable its regular use with the NormalKey or NormalEditKey directives in your .INI file."

"NormalKey = Key: Deassigns a general input key in order to disable the usual meaning of the key within 4OS2 and/or make it available for keystroke aliases. This will make the keystroke operate as a "normal" key with no special function. For example:

NormalKey = Ctrl-End

will disable Ctrl-End, which is the standard "delete to end of line" key. Ctrl-End could then be assigned to a keystroke alias. Another key could be assigned the "delete to end of line" function with the DelToEnd directive."

These disable keys and you don't need to use them for aliases. Do they not do what you need if not give me a testcase for the failure.

comment:3 by Lewis Rosenthal, 3 years ago

Are you sure something else isn't grabbing the key.

LeftAlt-Tab here from a full screen 4OS2 session produces a beep and then the lSwitcher menu. LeftAlt-Tab from a full screen CMD session produces no beep and just the lSwitcher menu.

(RightAlt-Tab does not work for lSwitcher under any shell; that's an lSwitcher issue.)

Attempting to set:

NormalKey=Alt-Tab

results in:

Invalid key substitution for "NormalKey"

(ditto for NormalEditKey)

Perhaps Alt-Tab is not a recognized key combination for NormalKey.

I guess instead of an RFE, this should be a bug report for the Alt-Tab NormalKey not working as expected and not being able to differentiate between left and right Ctrl or Alt keys for the NormalKey directive.

comment:4 by Gregg Young, 3 years ago

I have eliminated the beep (both Alts now work in lSwitcher).

NormalKey only overrides keys used by 4os2. It can't intercept keys used by the system.
I can suppress the error but it still can't be used because lSwitcher grabs it first. If lSwitcher is changed to ctrl-tab the XWP deamon grabs alt-tab. An error is actually correct. Perhaps the message could be better. I have now added Ctrl-Esc to the disallowed keys.

comment:5 by Gregg Young, 3 years ago

Owner: set to Gregg Young
Status: newaccepted
Note: See TracTickets for help on using tickets.