{"id":27171052,"url":"https://github.com/burghardt/esekeyd","last_synced_at":"2025-04-09T08:22:38.784Z","repository":{"id":36084633,"uuid":"40385231","full_name":"burghardt/esekeyd","owner":"burghardt","description":"ESE Key Daemon is a multimedia keyboard driver for Linux","archived":false,"fork":false,"pushed_at":"2024-03-10T22:57:06.000Z","size":187,"stargazers_count":5,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-03-11T22:49:38.812Z","etag":null,"topics":["daemon","driver","evdev","input","keyboard","keyboard-events","linux"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/burghardt.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2015-08-07T23:39:40.000Z","updated_at":"2024-03-11T22:49:38.812Z","dependencies_parsed_at":"2024-03-10T22:40:55.431Z","dependency_job_id":"e50ec937-3e45-463b-8a17-5df1daa2b96d","html_url":"https://github.com/burghardt/esekeyd","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burghardt%2Fesekeyd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burghardt%2Fesekeyd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burghardt%2Fesekeyd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burghardt%2Fesekeyd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/burghardt","download_url":"https://codeload.github.com/burghardt/esekeyd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248000425,"owners_count":21031192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daemon","driver","evdev","input","keyboard","keyboard-events","linux"],"created_at":"2025-04-09T08:22:37.976Z","updated_at":"2025-04-09T08:22:38.766Z","avatar_url":"https://github.com/burghardt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"ESE Key Daemon is a multimedia keyboard driver for Linux.\n\nThis program was inspired by discussion about Funkey and\n2.6 Linux kernels. Just read what Vojtech Pavlik think\nabout Funkey patch. (at the end of file)\n\nHow to use this program?\n\n1. Compile kernel with event interface input support.\n(generic kernels should have it)\n\n2. If compiled as a module (best choice) load module.\n(type \"modprobe evdev\" as root)\n\n3. If you know what permissions are set it correctly ;-P\n(e.g. prevent users from installing key loggers)\n\n4. Compile program.\n(type \"./bootstrap ; ./configure ; make\")\n\n5. Install program.\n(type \"make install\" as root)\n\n6. Run keytest and test if your keys works.\n(type \"keytest\")\n\n7. Run learnkeys and make config file.\n(type \"learnkeys config_file_name\")\n\n8. Edit config file generated by learnkeys.\n(use your favorite editor)\n\n9. Run it with the config file name.\n(type \"esekeyd config_file_name\",\nyou don`t have to run it as root if you set permissions correctly,\nif you want to do root need things (like init 5) use sudo,\nmy config file is included in examples directory)\n\n10. Have fun!\n\nKrzysztof Burghardt \u003ckrzysztof@burghardt.pl\u003e\n\n-=[ LKML ]=---------------------------------------------------------------\n\nForm: Vojtech Pavlik \u003cvojtech@suse.cz\u003e\nSubject: Re:Re: [BUG] setkeycodes with 2.6.0-test5 / -test6\n\nOn Tue, Sep 30, 2003 at 10:53:08AM +0100, Ivo van Doorn wrote:\n\u003e Hi!\n\u003e\n\n\u003e I'va been working on a kernelpatch for the 2.6 test kernel named the\n\u003e Funkey patch. This patch has been created by Rick van Rein for 2.2 and\n\u003e 2.4 kernels: website is here: http://rck.vanrein.org/linux/funkey.\n\n\u003e When i ported this patch to 2.6 I run into small problem., which also\n\u003e occurs when no patch is applied. First I will give a small\n\u003e explanation on how the Funkey patch works:\n\n\u003e Modern keyboards have extra multimedia keys (think of the \"www\" \"mail\"\n\u003e \"search\" sound volume etc.) By using setkeycodes to give these buttons\n\u003e a keycode and in the keymap giving that keycode a highbyte the key\n\u003e gets picked up by the funkey patch and instead of sending the signal\n\u003e through /dev/console, it gets send through /dev/funkey. Using the\n\u003e matching daemon the /dev/funkey can be read and programs can be\n\u003e launched when the buton is pressed. \"www\" button can for example start\n\u003e lynx, or mozilla or whatever.\n\nYou shouldn't need any patch for 2.6 to implement this functionality.\nBasically you need to modify the funkey daemon to do this:\n\n1) Open /proc/bus/input/devices and read it to find out which device\nis the system keyboard.\n2) Open the correct /dev/input/event? device\n3) Program the scancode/keycode mappings using the EVIOCSKEYCODE\nioctl()\n4) Use the EVIOCGRAB ioctl() to prevent any other program to get\nkeycodes from the keyboard.\n5) Open /dev/uinput and create a new virtual keyboard\n6) Read events from /dev/input/event? and process them. Either forward\nthem to /dev/uinput (normal keys) or do whatever action is needed\n(fun keys)\n\nDoes that sound reasonable?\n\nAnother option is to omit steps 4 and 5, and just let the extra keys\nreach the applications. If they're not mapped in kernel/xfree keymaps,\nthey'll be simply ignored.\n\nOne more thing: Microsoft standardized some of the WWW/Multimedia keys.\nI'll be changing the default scancode/keycode/rawmode tables to support\nthem soon.\n\n[...]\n\n-- \nVojtech Pavlik\nSuSE Labs, SuSE CR\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburghardt%2Fesekeyd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fburghardt%2Fesekeyd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburghardt%2Fesekeyd/lists"}