• Stars
    star
    1,646
  • Rank 27,766 (Top 0.6 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple utility application to trigger haptic feedback when tapping Touch Bar.

HapticKey

HapticKey is a simple utility application for MacBook with Touch Bar that triggers a haptic feedback when tapping Touch Bar.

HapticKey

Since Touch Bar is just a flat panel, there is no feedback other than a visual change of the key displayed, it is terribly uncomfortable especially when tapping ESC key, like while using Vim.

By adding a haptic feedback, which is vibrating a trackpad not Touch Bar itself, it helps to improve the usage of Touch Bar. It is also optionally playing a sound effect or flashing the screen like a visual bell on a terminal.

Usage

Download the latest pre-built application binary from Releases page. Note that these pre-built application binaries are not signed so you need to allow to execute it on Security & Privacy settings pane in System Preferences.

Also, the application may ask a permission to use Accessibility, as like the other applications that are listening system events.

Build

To build the application from the source code, you need to use the latest version of Xcode.

Simply use make to install all dependencies, build application binary, then archive it in build/HapticKey.xcarchive/Products/.

$ make

Development

You can simply open HapticKey.xcodeproj to start development of the application.

Overviews

This application is using CGEventTap to listen key down and up or tap events on Touch Bar.

It triggers haptic feedbacks by using private APIs in MultitouchSupport.framework when the event meets the conditions.

Currently, the application is listening either ESC and F1, F2, etc. keys or tap events on Touch Bar. You can implement your own HTKEventListener to extend the application to trigger feedbacks on arbitrary events.

More Repositories

1

KeyboardGuide

A modern, real iOS keyboard system notifications handler framework that Just Works.
Swift
457
star
2

iphone_opencv_test

Test application for iPhone with OpenCV library
C++
373
star
3

AlpacaChat

A Swift library that runs Alpaca-LoRA prediction locally to implement ChatGPT like app on Apple platform devices.
C
347
star
4

ramen

๐Ÿœ A repository to organize self-made ramen recipes.
135
star
5

poxen

Automation tool to configure your Mac.
Ruby
54
star
6

Echo

A simple iOS application redirects microphone input to the Bluetooth audio device
Swift
41
star
7

TinyLinux

A really tiny minimum implementation of Virtualization framework to boot Linux.
Swift
37
star
8

HolePunch

๐Ÿ•ณ A simple command line tool to punch hole to reduce disk usage on APFS volume for such as a raw disk image.
Swift
36
star
9

WindowAlignment

A simple application to align windows on macOS.
Swift
29
star
10

GraphQLLanguage

A simple GraphQL language parser library for Swift.
Swift
26
star
11

mozc

A mirror repository of Mozc, an open source Japanese input method made by Google.
C++
24
star
12

profiles

dot files and more
Shell
22
star
13

node-base128

Encode, decode binary to/from UTF-8 string using Base128.
JavaScript
21
star
14

rubies

A script to switch Ruby.
Shell
20
star
15

growl_reeder

A tiny SIMBL plugin to enable Growl desktop notification in awesome Reeder.app for Mac
C
15
star
16

automatic_linking_tool

A simple command line tool to check Mach-O binary configuration for automatic linking
Objective-C
13
star
17

clang_plugins

A repository for clang plugins development
CMake
12
star
18

open_with_default

A tiny extension for Google Chrome on Mac OS X to send links to Safari or Firefox etc.
C
11
star
19

tweetie_hack

Enhance awesome Tweetie for Mac
Objective-C
10
star
20

terminal_coloreopard

Change Terminal.app ANSI Color on Leopard
Objective-C
9
star
21

zoommy

A Stylish Image Zooming JavaScript
JavaScript
9
star
22

safari_hack

Improve Safari.app behavior a little bit, like display favicon in tab bar.
Objective-C
8
star
23

skype_logger

A Simple Plain Text Logger Plugin for Skype.app
Ruby
8
star
24

scalding_examples

A very simple Scalding examples, test codes and a helper script.
Puppet
7
star
25

Hidppgui

A companion helper app for using Logitech mouse on macOS.
Swift
7
star
26

userscripts

JavaScript
6
star
27

readability_importer

A script imports many URLs into Readability.
Ruby
6
star
28

sparkle_appcast

A simple Sparkle `appcast.xml` tool
Ruby
6
star
29

gmail_contrast_theme

Contrast Theme for Gmail Chrome Extension
CSS
6
star
30

chemr

CHM viewer for MacOS X, Forked from original SVN repository
Ruby
6
star
31

DisableKey

A super simple tool to disable key inputs from internal keyboard.
Objective-C
5
star
32

storm_examples

A very simple Storm examples, example codes and a helper configuration.
Scala
5
star
33

hidkeys

A tiny USB firmware for Atmel AVR.
C
4
star
34

antlr4-graphql-grammar

A simple ANTLR4 grammar that can parse GraphQL language (June 2018 Edition)
ANTLR
4
star
35

iOSDCJapan2020Example

An example for the presentation at iOSDC Japan 2020
Swift
4
star
36

iphone_emorywhere

A demo application to enable Emoji keyboard everywhere on the iPhone
Objective-C
4
star
37

SimpleVideoPlayer

A very simple video player for iOS
Objective-C
4
star
38

DisplayAlignment

A simple command line tool to align displays on macOS.
Swift
4
star
39

growl_transition_duration_patch

A sample of Method Swizzling and SIMBL plugin to make Growl notification faster
Objective-C
4
star
40

GoodMacAppIcon

What is a good Mac app icon?
Swift
4
star
41

prowl_tweets

Prowl client for Twitter
Ruby
3
star
42

OpenApplication

A simple command line interface that uses `LSOpenApplication` to open application with preserving environment variables and arguments.
Objective-C
3
star
43

limechat_themes

Themes for LimeChat
3
star
44

intellij-enable-color-management-plugin

A tiny plugin to hot-fix a color management issue on IntelliJ running on the embedded JDK
Java
3
star
45

meowatch

Apple Watch app which you can Meow anytime, anywhere โ€• on your wrist.
Swift
3
star
46

jquery_plugins

Plugins for jQuery
JavaScript
3
star
47

HIDPP

A Swift module to communicate with Logitech, Inc. keyboards or mouses by using their proprietary HID++ protocol.
Swift
3
star
48

electron-messenger

Yet another simple shell application for Messenger using Electron.
JavaScript
2
star
49

standalone_mod_dav

Standalone WebDav server using mod_dav
Shell
2
star
50

type_pad_template

A command and gem to edit TypePad advanced templates.
Ruby
2
star
51

oauth_client

A tiny command, library to invoke OAuth requests.
Ruby
2
star
52

webapp_apis

A chunk of scripts for some web applications
Ruby
2
star
53

AnimationPlayer

No interesting things here.
Swift
2
star
54

sf_covid19

A commad line tool and library for COVID-19 in San Francisco.
Ruby
1
star
55

javas

A simple Java version switcher for OS X.
Shell
1
star
56

homebrew-additions

Additional Formulas to Homebrew.
Ruby
1
star
57

wemo_device

A simple Ruby gem library that lookups Belkinโ€™s Wemo devices.
Ruby
1
star
58

test

To understand how GitHub works, this repository is a test playground.
1
star
59

capistrano-forwarding

Capistrano extension providing SSH port forwarding while deploying.
Ruby
1
star
60

cfddns

A simple command line tool to update Cloudflare DNS record.
Rust
1
star
61

hiera-osxkeychain

Hiera backend for looking up OS X keychain
Ruby
1
star
62

vendorized_bundler

A small script to make Bundler and dependencies vendorized.
Ruby
1
star
63

self_sizing_auto_layout_cell_example

This is an example application that describes how using self-sizing auto-layout cell is difficult.
Objective-C
1
star
64

InlineVideoPlayer

A small sample project to inline video player within texts on `UITextView`.
Swift
1
star
65

mfk5

A prototype keyboard that contains enough features to make a full size split keyboard.
Shell
1
star
66

nodemcu_air_quality_sensor

A simple sensor node for measuring air quality in your room.
C++
1
star
67

ports

private portfiles which includes some patch, configuration
C
1
star
68

iterm2-git-svn-clone

iTerm2, cloned from original SVN repository
Objective-C
1
star
69

swift-contribution-workspace

A workspace repository for contributing to Swift and related projects on macOS
Shell
1
star
70

FixEvernoteSnippetsView

A dynamic link library that patches Evernote snippets view that has wrong configuration
Objective-C
1
star