@@ -7,8 +7,11 @@ import {
77 joinForward ,
88 liftEmptyBlock ,
99 newlineInCode ,
10+ selectAll ,
1011 selectNodeBackward ,
1112 selectNodeForward ,
13+ selectTextblockEnd ,
14+ selectTextblockStart ,
1215 splitBlock ,
1316 toggleMark ,
1417} from "prosemirror-commands" ;
@@ -165,7 +168,7 @@ export function buildKeymap(onNavigateToTitle?: (pixelWidth?: number) => void) {
165168 splitBlock ,
166169 ) ;
167170
168- keys [ "Backspace" ] = chainCommands (
171+ const backspaceCmd : Command = chainCommands (
169172 deleteSelection ,
170173 ( state , _dispatch ) => {
171174 const { selection } = state ;
@@ -175,12 +178,30 @@ export function buildKeymap(onNavigateToTitle?: (pixelWidth?: number) => void) {
175178 joinBackward ,
176179 selectNodeBackward ,
177180 ) ;
181+ keys [ "Backspace" ] = backspaceCmd ;
182+ keys [ "Mod-Backspace" ] = backspaceCmd ;
183+ keys [ "Shift-Backspace" ] = backspaceCmd ;
178184
179- keys [ "Delete" ] = chainCommands (
185+ const deleteCmd : Command = chainCommands (
180186 deleteSelection ,
181187 joinForward ,
182188 selectNodeForward ,
183189 ) ;
190+ keys [ "Delete" ] = deleteCmd ;
191+ keys [ "Mod-Delete" ] = deleteCmd ;
192+
193+ keys [ "Mod-a" ] = selectAll ;
194+
195+ if ( mac ) {
196+ keys [ "Ctrl-h" ] = backspaceCmd ;
197+ keys [ "Alt-Backspace" ] = backspaceCmd ;
198+ keys [ "Ctrl-d" ] = deleteCmd ;
199+ keys [ "Ctrl-Alt-Backspace" ] = deleteCmd ;
200+ keys [ "Alt-Delete" ] = deleteCmd ;
201+ keys [ "Alt-d" ] = deleteCmd ;
202+ keys [ "Ctrl-a" ] = selectTextblockStart ;
203+ keys [ "Ctrl-e" ] = selectTextblockEnd ;
204+ }
184205
185206 keys [ "Tab" ] = ( state , dispatch ) => {
186207 const itemName = isInListItem ( state ) ;
0 commit comments