gomp/config/kMap.go
aditya-K2 9c039a8681 Reading Mappings from config file
Following Changes have been made in addition to
`1572a460b0`

    1. config.go :

	ReadMappings Reads Array for each function
	Basically we are going to define mappings like this :

	```yml

	    Function :
		- first mapping
		- second mapping
		- third mapping

	`````

    2. kMap.go :

	GetAsciiValues will help us to get e.Rune() for the event for
	the handler function. So basically we will have a keymappings map
	generated which will help us to handle events.

	    for e.g

		if an user has defined following mappings

	````yml

	    togglePlayBack :
		- P
		- p
		- B

	````

		then the keymappings map will look like this

	    []keymappings = {
		GetAsciiValues("P") : togglePlayBack(),
		GetAsciiValues("p") : togglePlayBack(),
		GetAsciiValues("B") : togglePlayBack(),
	    }

	    so when the handler function will get an event e
	    we will just pass it to this keymappings map i.e

		keymappings[e] which will return the function
2021-11-11 22:03:35 +05:30

28 lines
489 B
Go

package config
import (
"errors"
)
var KMAP = map[string]int{
"TAB": 9,
"RETURN": 13,
"ENTER": 13,
"SPACE": 32,
}
func GetAsciiValue(s string) (int, error) {
if len([]rune(s)) == 1 {
char := []rune(s)[0]
if (int(char) >= 65 && int(char) <= 90) || (int(char) >= 97 && int(char) <= 122) {
return int(char), nil
} else {
return -1, errors.New("Not Found")
}
} else if val, ok := KMAP[s]; ok {
return val, nil
} else {
return -1, errors.New("Not Found")
}
}