# KeyboardExtensionMethods class

Namespace: [Grasshopper2.Extensions](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.extensions.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public static class KeyboardExtensionMethods
```

Provides extension methods for keyboards.

## Methods

- [HasCommand](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/hascommand.md): (static) Given a keys instance, determines whether it contains the OS specific CONTROL modifier. That is; CONTROL on Windows or COMMAND (i.e. APPLICATION) on Mac.
- [HasOption](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/hasoption.md): (static) Given a keys instance, determines whether it contains the OS specific ALT modifier. That is; ALT on Windows or OPTION on Mac.
- [HasShift](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/hasshift.md): (static) Given a keys instance, determines whether it contains the SHIFT modifier.
- [ImpliedSelectionMode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/impliedselectionmode.md): (static) Gets the implied selection mode from the current keyboard state.
- [IsControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/iscontrol.md): (static) Determines whether the modifiers match the CONTROL key. That is; CONTROL on Windows or COMMAND (i.e. APPLICATION) on Mac.
- [IsShift](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/isshift.md): (static) Determines whether the modifiers match the SHIFT key.
- [SelectionMode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.extensions.keyboardextensionmethods/selectionmode.md): (4 overloads, static) Gets the implied selection mode.
