---
title: IMKStateSetting
framework: InputMethodKit
role: symbol
role_heading: Protocol
platforms: [macOS 10.5+]
path: inputmethodkit/imkstatesetting
---

# IMKStateSetting

The IMKStateSetting protocol defines methods for setting or accessing values that indicate the state of an input method.

## Declaration

```swift
protocol IMKStateSetting
```

## Topics

### Activating and Deactivating the Server

- [activateServer(_:)](inputmethodkit/imkstatesetting/activateserver(_:).md)
- [deactivateServer(_:)](inputmethodkit/imkstatesetting/deactivateserver(_:).md)

### Showing a Preferences Window

- [showPreferences(_:)](inputmethodkit/imkstatesetting/showpreferences(_:).md)

### Getting the Supported Events

- [recognizedEvents(_:)](inputmethodkit/imkstatesetting/recognizedevents(_:).md)

### Getting the Mode Dictionary

- [modes(_:)](inputmethodkit/imkstatesetting/modes(_:).md)

### Getting and Setting Values

- [value(forTag:client:)](inputmethodkit/imkstatesetting/value(fortag:client:).md)
- [setValue(_:forTag:client:)](inputmethodkit/imkstatesetting/setvalue(_:fortag:client:).md)

## Relationships

### Conforming Types

- [IMKInputController](inputmethodkit/imkinputcontroller.md)

## See Also

### Protocols

- [IMKMouseHandling](inputmethodkit/imkmousehandling.md)
- [IMKServerInput](inputmethodkit/imkserverinput.md)
