gohook/README.md
Cauê Felchar f0ddfd620c Made the library Asyncronous (#2)
* Part 1 of supporting async events

made the dispatch process send events via json through a channel (the c kind), made another function that receives it and sends it trough another channel (the go kind)

todo: remove usage of function-local data trough channel
todo:find error that is causing the c channel to fill up?

* Part 2 of making the lib async

 - New event struct mimiking C structs
 - changed c channel library to eb_chan
 - changed API to something more palatable

* General cleanup

* updated go.mod

oopsie

* Probably final touches

i swear this time

* Changed constants, keychar type and test function

now Keychar is a rune, so it can be used as a regular character.

* WIP adding better support for conversion between Scancodes and Keychars

added table, will add rest of support soon(tm)

* finished conversion table

* Satisfied stringer interface for easier debug and logging, returned old function

what the title says

* Satisfied stringer interface for easier debug and logging, returned old function

what the title says

* forgot to import unsafe
2019-02-19 10:31:25 -04:00

27 lines
783 B
Markdown

# gohook
[![CircleCI Status](https://circleci.com/gh/cauefcr/gohook.svg?style=shield)](https://circleci.com/gh/cauefcr/gohook)
![Appveyor](https://ci.appveyor.com/api/projects/status/github/cauefcr/gohook?branch=master&svg=true)
[![Go Report Card](https://goreportcard.com/badge/github.com/cauefcr/gohook)](https://goreportcard.com/report/github.com/cauefcr/gohook)
[![GoDoc](https://godoc.org/github.com/cauefcr/gohook?status.svg)](https://godoc.org/github.com/cauefcr/gohook)
<!-- This is a work in progress. -->
Based on [libuiohook](https://github.com/kwhat/libuiohook)
```Go
package main
import (
"fmt"
//"github.com/robotn/gohook"
"github.com/cauefcr/gohook"
)
func main() {
EvChan := hook.Start()
defer hook.End()
for ev := range EvChan {
fmt.Println(ev)
}
}
```