@@ -229,10 +229,6 @@ void SetDefaultWindowsBindings()
229
229
{ Keys . ShiftF3 , MakeKeyHandler ( CharacterSearchBackward , "CharacterSearchBackward" ) } ,
230
230
{ Keys . F8 , MakeKeyHandler ( HistorySearchBackward , "HistorySearchBackward" ) } ,
231
231
{ Keys . ShiftF8 , MakeKeyHandler ( HistorySearchForward , "HistorySearchForward" ) } ,
232
- { Keys . PageUp , MakeKeyHandler ( ScrollDisplayUp , "ScrollDisplayUp" ) } ,
233
- { Keys . PageDown , MakeKeyHandler ( ScrollDisplayDown , "ScrollDisplayDown" ) } ,
234
- { Keys . CtrlPageUp , MakeKeyHandler ( ScrollDisplayUpLine , "ScrollDisplayUpLine" ) } ,
235
- { Keys . CtrlPageDown , MakeKeyHandler ( ScrollDisplayDownLine , "ScrollDisplayDownLine" ) } ,
236
232
// Added for xtermjs-based terminals that send different key combinations.
237
233
{ Keys . AltD , MakeKeyHandler ( KillWord , "KillWord" ) } ,
238
234
{ Keys . CtrlAt , MakeKeyHandler ( MenuComplete , "MenuComplete" ) } ,
@@ -247,6 +243,13 @@ void SetDefaultWindowsBindings()
247
243
_dispatchTable . Add ( Keys . CtrlDelete , MakeKeyHandler ( KillWord , "KillWord" ) ) ;
248
244
_dispatchTable . Add ( Keys . CtrlEnd , MakeKeyHandler ( ForwardDeleteLine , "ForwardDeleteLine" ) ) ;
249
245
_dispatchTable . Add ( Keys . CtrlH , MakeKeyHandler ( BackwardDeleteChar , "BackwardDeleteChar" ) ) ;
246
+
247
+ // PageUp/PageDown and CtrlPageUp/CtrlPageDown bindings are supported on Windows only because they depend on the
248
+ // API 'Console.SetWindowPosition', which throws 'PlatformNotSupportedException' on unix platforms.
249
+ _dispatchTable . Add ( Keys . PageUp , MakeKeyHandler ( ScrollDisplayUp , "ScrollDisplayUp" ) ) ;
250
+ _dispatchTable . Add ( Keys . PageDown , MakeKeyHandler ( ScrollDisplayDown , "ScrollDisplayDown" ) ) ;
251
+ _dispatchTable . Add ( Keys . CtrlPageUp , MakeKeyHandler ( ScrollDisplayUpLine , "ScrollDisplayUpLine" ) ) ;
252
+ _dispatchTable . Add ( Keys . CtrlPageDown , MakeKeyHandler ( ScrollDisplayDownLine , "ScrollDisplayDownLine" ) ) ;
250
253
}
251
254
252
255
_chordDispatchTable = new Dictionary < PSKeyInfo , Dictionary < PSKeyInfo , KeyHandler > > ( ) ;
@@ -324,8 +327,6 @@ void SetDefaultEmacsBindings()
324
327
{ Keys . AltPeriod , MakeKeyHandler ( YankLastArg , "YankLastArg" ) } ,
325
328
{ Keys . AltUnderbar , MakeKeyHandler ( YankLastArg , "YankLastArg" ) } ,
326
329
{ Keys . CtrlAltY , MakeKeyHandler ( YankNthArg , "YankNthArg" ) } ,
327
- { Keys . PageUp , MakeKeyHandler ( ScrollDisplayUp , "ScrollDisplayUp" ) } ,
328
- { Keys . PageDown , MakeKeyHandler ( ScrollDisplayDown , "ScrollDisplayDown" ) } ,
329
330
} ;
330
331
331
332
// Some bindings are not available on certain platforms
@@ -335,8 +336,13 @@ void SetDefaultEmacsBindings()
335
336
_dispatchTable . Add ( Keys . CtrlSpace , MakeKeyHandler ( MenuComplete , "MenuComplete" ) ) ;
336
337
_dispatchTable . Add ( Keys . CtrlEnd , MakeKeyHandler ( ScrollDisplayToCursor , "ScrollDisplayToCursor" ) ) ;
337
338
_dispatchTable . Add ( Keys . CtrlHome , MakeKeyHandler ( ScrollDisplayTop , "ScrollDisplayTop" ) ) ;
338
- _dispatchTable . Add ( Keys . CtrlPageDown , MakeKeyHandler ( ScrollDisplayDownLine , "ScrollDisplayDownLine" ) ) ;
339
+
340
+ // PageUp/PageDown and CtrlPageUp/CtrlPageDown bindings are supported on Windows only because they depend on the
341
+ // API 'Console.SetWindowPosition', which throws 'PlatformNotSupportedException' on unix platforms.
342
+ _dispatchTable . Add ( Keys . PageUp , MakeKeyHandler ( ScrollDisplayUp , "ScrollDisplayUp" ) ) ;
343
+ _dispatchTable . Add ( Keys . PageDown , MakeKeyHandler ( ScrollDisplayDown , "ScrollDisplayDown" ) ) ;
339
344
_dispatchTable . Add ( Keys . CtrlPageUp , MakeKeyHandler ( ScrollDisplayUpLine , "ScrollDisplayUpLine" ) ) ;
345
+ _dispatchTable . Add ( Keys . CtrlPageDown , MakeKeyHandler ( ScrollDisplayDownLine , "ScrollDisplayDownLine" ) ) ;
340
346
}
341
347
else
342
348
{
0 commit comments