From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Integrating Midi into Emacs Date: Sat, 03 Jan 2015 10:27:55 +0100 Message-ID: <87bnmgtdr8.fsf@fencepost.gnu.org> References: <87fvbttoa9.fsf@fencepost.gnu.org> <877fx43mui.fsf@earlgrey.lan> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1420277316 21144 80.91.229.3 (3 Jan 2015 09:28:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 3 Jan 2015 09:28:36 +0000 (UTC) Cc: emacs-devel@gnu.org To: Christopher Allan Webber Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 03 10:28:31 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Y7L0Z-0006xb-0p for ged-emacs-devel@m.gmane.org; Sat, 03 Jan 2015 10:28:31 +0100 Original-Received: from localhost ([::1]:53867 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7L0Y-0003Ug-7t for ged-emacs-devel@m.gmane.org; Sat, 03 Jan 2015 04:28:30 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48806) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7L0L-0003UF-Sd for emacs-devel@gnu.org; Sat, 03 Jan 2015 04:28:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y7L0K-0007rI-FI for emacs-devel@gnu.org; Sat, 03 Jan 2015 04:28:17 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40045) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7L0K-0007rE-By for emacs-devel@gnu.org; Sat, 03 Jan 2015 04:28:16 -0500 Original-Received: from localhost ([127.0.0.1]:47220 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7L0J-00040U-QD; Sat, 03 Jan 2015 04:28:16 -0500 Original-Received: by lola (Postfix, from userid 1000) id 0C27BE04C8; Sat, 3 Jan 2015 10:27:55 +0100 (CET) In-Reply-To: <877fx43mui.fsf@earlgrey.lan> (Christopher Allan Webber's message of "Fri, 02 Jan 2015 15:11:57 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:180937 Archived-At: Christopher Allan Webber writes: > David Kastrup writes: > >> One advantage of tieing Midi input in at a basic level might also be >> that one can use it to convey modifiers like Hyper and Super that avid >> Emacs typists might want to enter using foot pedals. The number of USB >> computer keyboards providing for Emacs-friendly foot pedals is >> minuscule. Midi-capable footpedals, however, are not exactly a dime a >> dozen but they are quite ubiquitous. >> >> So being able to exploit Midi signals with a timing accuracy making it >> possible to match them to computer keyboard input would make it much >> easier to acquire workable modifier pedals even for regular non-musician >> uses. >> >> Thoughts? > > This is an interesting idea. I use foot pedals myself for coding to > mitigate my RSI. It's hard to recommend to people though since the ones > I have from Kinesis are a little pricey (but not as pricey as having RSI > issues). > > BTW, I've been meaning to document if for some time but haven't, but if > anyone here is using foot pedals for typing, I highly recommend turning > the foot pedals *backwards* so you press it with your heel, and prop > books up in front of the pedals... this means that pressing ctrl & alt > requires only small movements. I found that pressing ctrl and alt with > my foot forward-facing was irritating my foot very quickly. The basic "sustain pedal" contains just a switch (typically, you can select whether it's on or off when pushing the pedal down, and a number of keyboards don't actually care but just consider the polarity encountered on power-on as off) on a 6.3mm jack. So that does not yet give you a Midi signal unless you have some keyboard and/or "midification kit" connected. But a number of organ pedalboards produce Midi as their main output, and there are programmable footswitch controllers as well. However, the programmable footswitch controllers are more intended for changing registers and keys and patterns, so they are intended more for occasional kick action rather than continuous use. So you are likely better off with the mechanics of organ pedalboards (though you'll not need most of the keys) or sustain pedals. On the reverse route, it might be interesting to use something akin to Emacs keyboard methods to produce Midi: if you take a look at a chromatic button keyboard (say, , the side with the big buttons) you'll find that the chromatic button keyboard (anything after the third button row is redundant and most players will get along fine without it) is remarkably similar to a computer keyboard. There are "virtual Midi" keyboards available but they are based on piano keyboards (and thus make worse use of the computer keyboard) and most particularly they run in another window. When one switches back and forth between Midi input in Emacs and normal input _and_ one wants to use the computer keyboard for music entry rather than a separate keyboard, having to mess with input focus, windows etc etc is going to be a nuisance. An input method just producing Midi would be preferable. How-e-ver: to actually get key press and key release events, one would have to work with a more raw form of X11 keyboard events than what is usually fed into Emacs input methods. At any rate, there is quite a bit of potential for integrating Emacs better into a musician's workflow. -- David Kastrup