{"id":13836659,"url":"https://github.com/susam/devil","last_synced_at":"2025-05-14T23:15:50.986Z","repository":{"id":162855323,"uuid":"637346530","full_name":"susam/devil","owner":"susam","description":"Emacs minor mode that intercepts and translates keystrokes to provide a modifier-free non-modal editing experience","archived":false,"fork":false,"pushed_at":"2024-01-29T00:29:49.000Z","size":287,"stargazers_count":144,"open_issues_count":10,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-02-17T07:35:15.588Z","etag":null,"topics":["control","emacs","emacs-lisp","key-sequence","keyboard"],"latest_commit_sha":null,"homepage":"https://susam.github.io/devil/","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/susam.png","metadata":{"files":{"readme":"README.org","changelog":"CHANGES.org","contributing":"CONTRIBUTING.org","funding":null,"license":"LICENSE.org","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-07T09:18:25.000Z","updated_at":"2024-05-30T01:27:17.028Z","dependencies_parsed_at":"2024-01-13T17:06:32.069Z","dependency_job_id":"119e4659-5518-442e-be1e-f4541a6af07b","html_url":"https://github.com/susam/devil","commit_stats":{"total_commits":104,"total_committers":4,"mean_commits":26.0,"dds":0.09615384615384615,"last_synced_commit":"39469b2d1ebbf40ab1f63aae7a6c4326f5da0e7a"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fdevil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fdevil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fdevil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fdevil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/susam","download_url":"https://codeload.github.com/susam/devil/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243314,"owners_count":22038048,"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":["control","emacs","emacs-lisp","key-sequence","keyboard"],"created_at":"2024-08-04T15:00:52.000Z","updated_at":"2025-05-14T23:15:50.965Z","avatar_url":"https://github.com/susam.png","language":"Emacs Lisp","readme":"* Devil Mode\n\n[[https://melpa.org/#/devil][file:https://melpa.org/packages/devil-badge.svg]]\n[[https://stable.melpa.org/#/devil][file:https://stable.melpa.org/packages/devil-badge.svg]]\n[[https://elpa.nongnu.org/nongnu/devil.html][file:https://elpa.nongnu.org/nongnu/devil.svg]]\n[[https://mastodon.social/@susam][file:https://img.shields.io/badge/mastodon-%40susam-%2355f.svg]]\n\nDevil mode trades your comma key in exchange for a modifier-free\nediting experience in Emacs.  Yes, the comma key!  The key you would\nnormally wield for punctuation in nearly every corner of text.  Yes,\nthis is twisted!  It would not be called the Devil otherwise, would\nit?  If it were any more rational, we might call it something divine,\nlike, uh, the God mode?  But alas, there is nothing divine to be found\nhere.  Welcome, instead, to the realm of the Devil!  You will be\ngranted the occasional use of the comma key for punctuation, but only\nif you can charm the Devil.  But beware, for in this sinister domain,\nyou must relinquish your comma key and embrace an editing experience\nthat whispers wicked secrets into your fingertips!\n\n** Introduction\n:PROPERTIES:\n:CUSTOM_ID: introduction\n:END:\n\nDevil is available in MELPA as well as NonGNU ELPA.  If you are using\nEmacs 28.1 or a more recent version of Emacs, you can get the latest\nstable version of Devil by typing =M-x package-install RET devil RET=.\nOtherwise, you need to add MELPA or NonGNU ELPA to your list of\npackage archives and then install MELPA.  More details on the\ninstallation procedure is provided in the [[https://susam.github.io/devil/][manual]].\n\nBy default, Devil mode rebinds the comma key to activate Devil.  Once\nactivated, Devil reads a so-called Devil key sequence from you.  As\nyou type your Devil key sequence, Devil translates the key sequence to\na regular Emacs key sequence.  If any command is bound to the\ntranslated Emacs key sequence, Devil runs that command and then\ndeactivates itself.\n\nBy default, each comma in the Devil key sequence is translated to\n\"C-\".  For example, if you type \", x , f\", Devil translates it to \"C-x\nC-f\".  Similarly \", m\" is translated to \"M-\".  If you type \", m x\",\nDevil translates it to \"M-x\".  Further \", m m\" is translated to\n\"C-M-\".  If you type \", m m f\" Devil translates it to \"C-M-f\".  There\nare several other translations available in the default translation\nrules that let you enjoy working with Emacs while avoiding modifier\nkeys.  Further, the Devil activation key, translation rules, etc. are\ncustomisable.  Thus if you do not like the default choices made in\nthis package, you can customise it easily to suit your preferences.\n\nRead the [[https://susam.github.io/devil/][manual]] to learn how to install, use, and customise Devil.\n\n** Channels\n:PROPERTIES:\n:CUSTOM_ID: channels\n:END:\n\nThe author of this project hangs out at the following places online:\n\n- Website: [[https://susam.net][susam.net]]\n- Mastodon: [[https://mastodon.social/@susam][@susam@mastodon.social]]\n- GitHub: [[https://github.com/susam][@susam]]\n\nYou are welcome to subscribe to, follow, or join one or more of the\nabove channels to receive updates from the author or ask questions\nabout this project.\n\n** Support\n:PROPERTIES:\n:CUSTOM_ID: support\n:END:\n\nTo report bugs, suggest improvements, or ask questions, [[https://github.com/susam/devil/issues][create issues]].\n\n** Contributing\n:PROPERTIES:\n:CUSTOM_ID: contributing\n:END:\n\nSee [[https://github.com/susam/devil/blob/main/CONTRIBUTING.org][CONTRIBUTING.org]] for contribution guidelines.\n\n** Thanks\n:PROPERTIES:\n:CUSTOM_ID: thanks\n:END:\n\nThanks to:\n\n- [[https://github.com/riscy][Chris Rayner]] for initial code review.\n- [[https://github.com/phikal][Philip Kaludercic]] for initial code review and patches.\n- [[https://github.com/morganwillcock][Morgan Willcock]] for initial feedback and code reviews.\n\n** Reactions\n:PROPERTIES:\n:CUSTOM_ID: reactions\n:END:\n\nSome amusing reactions to this project collected from various corners\nof the world wide web:\n\n#+begin_quote\nEvery bit of this horrifies me, and I can't believe you've done it.\nOutstanding.  Well done!  -- [[https://news.ycombinator.com/item?id=35953341][@kstrauser]]\n#+end_quote\n\n#+begin_quote\nThis is insane.  I am going to try it immediately.  -- [[https://news.ycombinator.com/item?id=35855621][@jrockway]]\n#+end_quote\n\n#+begin_quote\nWill defiantly check this out.  -- [[https://old.reddit.com/r/emacs/comments/13aj99j/devil_mode_a_twisted_key_sequence_translator_for/jj94y35/][@strings]]\n#+end_quote\n\n#+begin_quote\nDefiantly!  -- [[https://old.reddit.com/r/emacs/comments/13aj99j/devil_mode_a_twisted_key_sequence_translator_for/jj98owf/][@oantolin]]\n#+end_quote\n\n#+begin_quote\n😈  -- [[https://old.reddit.com/r/emacs/comments/13aj99j/devil_mode_a_twisted_key_sequence_translator_for/jj72ive/][@SequentialDesign]]\n#+end_quote\n\n** More\n:PROPERTIES:\n:CUSTOM_ID: more\n:END:\n\nSee [[https://github.com/susam/emacs4cl][Emacs4CL]], a DIY quick-starter kit to set up Emacs for Common Lisp\nprogramming.\n\nSee [[https://github.com/susam/emfy][Emfy]], a DIY quick-starter kit to set up Emacs for general purpose\nediting and programming.\n","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsusam%2Fdevil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsusam%2Fdevil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsusam%2Fdevil/lists"}