A short overview: ctrl+tab, ctrl+1, ctrl+2, ..., ctrl+0, ctrl+Tab, ctrl+mWith Ctrl-Key pressed, some keyboard events don't generate smalltalk keystrokes (EventKeyChar) for some keyboard events there are only key down and key up events (from windows) but the vm "generates" a keypress (EventKeyChar) event But the key value , char code and ctrl flag for this generated events, make them undistinguishable from other ctrl+key shortcuts And one key (ctrl+Enter) creates two EventKeyChar events one "normal" and one that is generated from the vm one with keyvalue 10 and one with 13. just key "a": 65 (keydown event) keycode 65 (keydown event) 1 (keyvalue/charcode event) 65 (keyup event) I would like to change this, that means: generate EventKeyChar events for ctrl+1, ctrl+2, ..., ctrl+Tab, ctrl+m remove the double key event for ctrl+Enter and adopt the behavior of the linux vm, for keyValue, charCode values for events like ctrl+a, ctrl+home, ... #(2 7329656 1 0 2 65 0 1) for ctrl+a (keyValue 1/charCode 65) but #(2 7329656 1 0 2 1 0 1) for ctrl+home (keyValue 1/charCode 1) |
Anyone from Squeak/SqueeakVM interested on this change? I can build a squeak vm as well and / or provide a vm-source patch file. 2015-11-13 8:33 GMT+01:00 Nicolai Hess <[hidden email]>:
|
Very much interested. :) If there are changes that generate different events in Smalltalk land, we should provide Smalltalk code to simulate previous behavior if needed. But for most (if not all) of your changes, this should not be necessary.
Best, Marcel |
2015-11-16 10:59 GMT+01:00 marcel.taeumel <[hidden email]>: Very much interested. :) If there are changes that generate different events this is the change I did for the pharo-vm (here the diff against squeaks-vm sqWin32Windows.c) The in-image keyevent handling is slighty different for pharo and squeak. It looks like squeak already interpret some keydown events as keystroke events just because the vm did not generate the keychar events. (for example, ctrl+1,ctrl+2, ..., don't create keystroke events, only keydown and up events, and the dockingbar morph uses these events (instead of "real" keystrokes, to activate the submenus)
squeak_win_vm_ctrl_key.patch (3K) Download Attachment |
Free forum by Nabble | Edit this page |