{-# LANGUAGE TemplateHaskell #-}

module Text.XkbCommon.KeycodeList where

import Language.Haskell.TH

import Text.XkbCommon.ParseDefines
import Text.XkbCommon.InternalTypes

-- TH magic from ParseDefines:
$(runIO genKeycodes >>= return)

toEvdev :: CKeycode -> Int
toEvdev (CKeycode k) = fromIntegral k - 8
fromEvdev :: Int -> CKeycode
fromEvdev k = CKeycode $ fromIntegral (k + 8)