'From Pharo11.0.0 of 24 December 2022 [Build information: Pharo-11.0.0+build.394.sha.25a66bd9b1ac0bf7b1dac4e147bbc0292f426f9e (64 Bit)] on 6 January 2023 at 8:48:23.064 am'! !OSSDL2BackendWindow methodsFor: 'event handling' stamp: 'pharodev 1/6/2023 08:38'! visitKeyDownEvent: event | osEvent keysym | keysym := event keysym. osEvent := OSKeyDownEvent for: osWindow. osEvent scanCode: keysym scancode; symbol: keysym sym; repeat: event repeat; position: self mousePosition; character: (self mapSpecialCharacter: keysym sym). self convertButtonState: SDL2 mouseState modState: keysym mod modifiers: osEvent modifiers. (keysym sym = 1073741915 and: ((keysym mod bitAnd: 4096) = 0)) ifTrue: [ osEvent scanCode: 91; symbol: 1073741902; character: Character pageDown ]. (keysym sym = 1073741921 and: ((keysym mod bitAnd: 4096) = 0)) ifTrue: [ osEvent scanCode: 75; symbol: 1073741899; character: Character pageUp ]. (keysym sym = 1073741913 and: ((keysym mod bitAnd: 4096) = 0)) ifTrue: [ osEvent scanCode: 77; symbol: 1073741901; character: Character end ]. (keysym sym = 1073741919 and: ((keysym mod bitAnd: 4096) = 0)) ifTrue: [ osEvent scanCode: 74; symbol: 1073741898; character: Character home ]. ^ osEvent deliver! !