# randyrants/sharpkeys

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/randyrants-sharpkeys).**

6,821 stars · 437 forks · C# · ms-pl

## Links

- GitHub: https://github.com/randyrants/sharpkeys
- Homepage: http://www.randyrants.com/
- awesome-repositories: https://awesome-repositories.com/repository/randyrants-sharpkeys.md

## Topics

`keyboard` `keyboard-mapping` `remap` `utilities`

## Description

SharpKeys is a Windows registry keyboard remapper and input customizer. It functions as a tool for changing keyboard key assignments by modifying the Windows registry scancode map.

The utility includes a keyboard key identifier to detect the internal scan code of a pressed key, which facilitates accurate remapping and identification of physical keys.

The software covers keyboard input identification and custom keyboard layout setup, allowing users to swap or disable keyboard inputs by managing the Windows registry.

## Tags

### Hardware & IoT

- [Input Remapping](https://awesome-repositories.com/f/hardware-iot/input-behavior-configurators/input-configurators/input-remapping.md) — Provides the ability to swap or substitute one physical keyboard key for another via system settings. ([source](https://cdn.jsdelivr.net/gh/randyrants/sharpkeys@master/README.md))
- [Keyboard Key Mappings](https://awesome-repositories.com/f/hardware-iot/keyboard-key-mappings.md) — Modifies the Windows registry scancode map to associate physical keyboard keys with different virtual inputs.

### Operating Systems & Systems Programming

- [Input Remapping Utilities](https://awesome-repositories.com/f/operating-systems-systems-programming/input-remapping-utilities.md) — Acts as a utility for reassigning physical keyboard keys to different virtual keys through registry modification.
- [Keyboard Scan Code Processing](https://awesome-repositories.com/f/operating-systems-systems-programming/keyboard-scan-code-processing.md) — Captures raw hardware scan codes to identify the specific physical key being pressed by the user.
- [Windows Registry Modifiers](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-registry-modifiers.md) — Programmatically modifies the Windows registry to change system-wide keyboard behavior and layouts.
- [Keyboard Scancode Map Modifiers](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-registry-modifiers/keyboard-scancode-map-modifiers.md) — Changes keyboard key assignments by modifying the Windows registry scancode map.
- [Windows System Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/os-specific-integration-modules/windows-system-integrations.md) — Integrates with native Windows platform features to apply registry changes and refresh hardware configurations.

### User Interface & Experience

- [Key Identity Detection](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/input-handling/secondary-modifier-keys/key-identity-detection.md) — Automatically detects the identity of a pressed key to simplify the selection process for custom remaps. ([source](https://cdn.jsdelivr.net/gh/randyrants/sharpkeys@master/README.md))
- [Physical Key Identification](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/input-handling/secondary-modifier-keys/keyboard-input-mapping/physical-key-identification.md) — Finds the exact system ID of a physical key to ensure the correct button is being remapped.
- [Keyboard Layout Configurations](https://awesome-repositories.com/f/user-interface-experience/component-utilities/keyboard-shortcuts/keyboard-layout-configurations.md) — Enables custom keyboard layout setups to suit specific typing styles or professional workflows.

### Data & Databases

- [Hardware Scan Code Identifiers](https://awesome-repositories.com/f/data-databases/key-value-stores/key-browsers/hardware-scan-code-identifiers.md) — Detects the internal scan code of a pressed key to facilitate accurate remapping.

### Development Tools & Productivity

- [Input Customization](https://awesome-repositories.com/f/development-tools-productivity/input-pointer-automation/input-customization.md) — Provides a software interface for users to redefine, swap, or disable standard keyboard inputs.
