@@ -133,9 +133,13 @@ export class ListboxPattern<V> {
133133 . on ( Modifier . Shift , 'Enter' , ( ) => this . _updateSelection ( { selectFromAnchor : true } ) )
134134 . on ( Modifier . Shift , this . prevKey , ( ) => this . prev ( { toggle : true } ) )
135135 . on ( Modifier . Shift , this . nextKey , ( ) => this . next ( { toggle : true } ) )
136- . on ( Modifier . Ctrl | Modifier . Shift , 'Home' , ( ) => this . first ( { selectFromActive : true } ) )
137- . on ( Modifier . Ctrl | Modifier . Shift , 'End' , ( ) => this . last ( { selectFromActive : true } ) )
138- . on ( Modifier . Ctrl , 'A' , ( ) => this . _updateSelection ( { selectAll : true } ) )
136+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , 'A' , ( ) => this . _updateSelection ( { selectAll : true } ) )
137+ . on ( [ Modifier . Ctrl | Modifier . Shift , Modifier . Meta | Modifier . Shift ] , 'Home' , ( ) =>
138+ this . first ( { selectFromActive : true } ) ,
139+ )
140+ . on ( [ Modifier . Ctrl | Modifier . Shift , Modifier . Meta | Modifier . Shift ] , 'End' , ( ) =>
141+ this . last ( { selectFromActive : true } ) ,
142+ )
139143 . on ( Modifier . Shift , this . dynamicSpaceKey , ( ) =>
140144 this . _updateSelection ( { selectFromAnchor : true } ) ,
141145 ) ;
@@ -153,12 +157,12 @@ export class ListboxPattern<V> {
153157
154158 if ( this . inputs . multi ( ) && this . followFocus ( ) ) {
155159 manager
156- . on ( Modifier . Ctrl , this . prevKey , ( ) => this . prev ( ) )
157- . on ( Modifier . Ctrl , this . nextKey , ( ) => this . next ( ) )
158- . on ( Modifier . Ctrl , ' ' , ( ) => this . _updateSelection ( { toggle : true } ) )
159- . on ( Modifier . Ctrl , 'Enter' , ( ) => this . _updateSelection ( { toggle : true } ) )
160- . on ( Modifier . Ctrl , 'Home' , ( ) => this . first ( ) ) // TODO: Not in spec but prob should be.
161- . on ( Modifier . Ctrl , 'End' , ( ) => this . last ( ) ) ; // TODO: Not in spec but prob should be.
160+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , this . prevKey , ( ) => this . prev ( ) )
161+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , this . nextKey , ( ) => this . next ( ) )
162+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , ' ' , ( ) => this . _updateSelection ( { toggle : true } ) )
163+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , 'Enter' , ( ) => this . _updateSelection ( { toggle : true } ) )
164+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , 'Home' , ( ) => this . first ( ) ) // TODO: Not in spec but prob should be.
165+ . on ( [ Modifier . Ctrl , Modifier . Meta ] , 'End' , ( ) => this . last ( ) ) ; // TODO: Not in spec but prob should be.
162166 }
163167
164168 return manager ;
0 commit comments