* Emacs touch interface @ 2015-12-20 22:43 Lars Magne Ingebrigtsen 2015-12-21 0:28 ` John Wiegley ` (3 more replies) 0 siblings, 4 replies; 16+ messages in thread From: Lars Magne Ingebrigtsen @ 2015-12-20 22:43 UTC (permalink / raw) To: emacs-devel Hm. Did I ask about this before? I think I may have, but I can't find it now... Have anybody made a command set for touch gestures for Emacs? The only thing I could find was this old, apparently abandoned project: https://github.com/dto/emacs-gestures There's strokes-mode, which is in the same neck of the woods, but is more of a framework for creating commands from mouse strokes, which is kinda a bit different. I think a basic touch screen minor mode would be handy for some newer laptops. Like, "pull down" to scroll a page, and "swipe right" to enter a directory, and... stuff... The reason I'm asking is that I'm trying to figure out how to use a Surface Pro as a music playing machine without having a keyboard. I've got an Emacs-based music player, of course, and I can use the on-screen keyboard for "complicated" things (like searching for a specific artist), but it seems to me like there should be a common (but extensible) set of swipe-based commands for Emacs... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-20 22:43 Emacs touch interface Lars Magne Ingebrigtsen @ 2015-12-21 0:28 ` John Wiegley 2015-12-21 0:48 ` Lennart Borgman 2015-12-21 15:28 ` Eli Zaretskii 2015-12-24 8:47 ` joakim ` (2 subsequent siblings) 3 siblings, 2 replies; 16+ messages in thread From: John Wiegley @ 2015-12-21 0:28 UTC (permalink / raw) To: emacs-devel >>>>> Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > I think a basic touch screen minor mode would be handy for some newer > laptops. Like, "pull down" to scroll a page, and "swipe right" to enter a > directory, and... stuff... Sounds pretty useful, as touch screen laptops become more commonplace. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-21 0:28 ` John Wiegley @ 2015-12-21 0:48 ` Lennart Borgman 2015-12-21 15:28 ` Eli Zaretskii 1 sibling, 0 replies; 16+ messages in thread From: Lennart Borgman @ 2015-12-21 0:48 UTC (permalink / raw) To: Emacs-Devel devel On Mon, Dec 21, 2015 at 1:28 AM, John Wiegley <jwiegley@gmail.com> wrote: > > >>>>> Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > > > I think a basic touch screen minor mode would be handy for some newer > > laptops. Like, "pull down" to scroll a page, and "swipe right" to enter a > > directory, and... stuff... > > Sounds pretty useful, as touch screen laptops become more commonplace. Virtual keyboards are sometimes very useful too. But there are some problems... :-p ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-21 0:28 ` John Wiegley 2015-12-21 0:48 ` Lennart Borgman @ 2015-12-21 15:28 ` Eli Zaretskii 2015-12-21 16:03 ` Lars Magne Ingebrigtsen 1 sibling, 1 reply; 16+ messages in thread From: Eli Zaretskii @ 2015-12-21 15:28 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Sun, 20 Dec 2015 16:28:42 -0800 > > >>>>> Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > > > I think a basic touch screen minor mode would be handy for some newer > > laptops. Like, "pull down" to scroll a page, and "swipe right" to enter a > > directory, and... stuff... > > Sounds pretty useful, as touch screen laptops become more commonplace. Doesn't X produce normal events from touch-screen gestures, like scroll from pane, etc.? AFAIK, MS-Windows does that, to allow legacy applications to react to these gestures. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-21 15:28 ` Eli Zaretskii @ 2015-12-21 16:03 ` Lars Magne Ingebrigtsen 2015-12-21 16:05 ` Lars Magne Ingebrigtsen 0 siblings, 1 reply; 16+ messages in thread From: Lars Magne Ingebrigtsen @ 2015-12-21 16:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: John Wiegley, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > Doesn't X produce normal events from touch-screen gestures, like > scroll from pane, etc.? AFAIK, MS-Windows does that, to allow legacy > applications to react to these gestures. X doesn't seem to when I try on a non-tweaked Ubuntu installation. I've googled this a bit, and it seems like it might be possible to have X deliver other events than the default one. I'll investigate and see what I find out... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-21 16:03 ` Lars Magne Ingebrigtsen @ 2015-12-21 16:05 ` Lars Magne Ingebrigtsen 2015-12-21 16:27 ` Eli Zaretskii 0 siblings, 1 reply; 16+ messages in thread From: Lars Magne Ingebrigtsen @ 2015-12-21 16:05 UTC (permalink / raw) To: emacs-devel Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > X doesn't seem to when I try on a non-tweaked Ubuntu installation. I've > googled this a bit, and it seems like it might be possible to have X > deliver other events than the default one. I'll investigate and see > what I find out... That is, by default X under Ubuntu doesn't deliver any touch events at all -- it just emulates a mouse, so a "swipe up" just selects a region of text. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-21 16:05 ` Lars Magne Ingebrigtsen @ 2015-12-21 16:27 ` Eli Zaretskii 2015-12-22 16:20 ` Renaud Casenave-Péré 0 siblings, 1 reply; 16+ messages in thread From: Eli Zaretskii @ 2015-12-21 16:27 UTC (permalink / raw) To: Lars Magne Ingebrigtsen; +Cc: emacs-devel > From: Lars Magne Ingebrigtsen <larsi@gnus.org> > Date: Mon, 21 Dec 2015 17:05:29 +0100 > MailScanner-NULL-Check: 1451318731.00822@tRAfIdootzhcGiYHQiEzSg > > Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > > > X doesn't seem to when I try on a non-tweaked Ubuntu installation. I've > > googled this a bit, and it seems like it might be possible to have X > > deliver other events than the default one. I'll investigate and see > > what I find out... > > That is, by default X under Ubuntu doesn't deliver any touch events at > all -- it just emulates a mouse, so a "swipe up" just selects a region > of text. That's exactly what I meant -- emulation. On MS-Windows, panning generates horizontal and vertical scroll messages (as if the user used the scroll bars), zooming generates Ctrl+mouse-wheel, taps generate mouse clicks, pressing and holding generates a right-click mouse event, etc. The only gesture that doesn't get any emulation is rotation, AFAICT. See https://msdn.microsoft.com/en-us/library/windows/desktop/dd940543%28v=vs.85%29.aspx for the details. I assume X can do something similar, it would be silly not to. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-21 16:27 ` Eli Zaretskii @ 2015-12-22 16:20 ` Renaud Casenave-Péré 0 siblings, 0 replies; 16+ messages in thread From: Renaud Casenave-Péré @ 2015-12-22 16:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Lars Magne Ingebrigtsen, emacs-devel I would also like to have some kind of touch and maybe a bit more "graphical" interface to be able to use gnus and org-mode on my phone. I tried some years ago to make some kind of frontend emacs --daemon using emacsclient written in qt which was kind of working but was not a great solution. -- Renaud Casenave-Péré ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-20 22:43 Emacs touch interface Lars Magne Ingebrigtsen 2015-12-21 0:28 ` John Wiegley @ 2015-12-24 8:47 ` joakim 2016-01-04 20:10 ` Lars Magne Ingebrigtsen 2016-02-05 5:34 ` Lars Ingebrigtsen 3 siblings, 0 replies; 16+ messages in thread From: joakim @ 2015-12-24 8:47 UTC (permalink / raw) To: emacs-devel Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > Hm. Did I ask about this before? I think I may have, but I can't find > it now... > > Have anybody made a command set for touch gestures for Emacs? The only > thing I could find was this old, apparently abandoned project: > > https://github.com/dto/emacs-gestures > > There's strokes-mode, which is in the same neck of the woods, but is > more of a framework for creating commands from mouse strokes, which is > kinda a bit different. > > I think a basic touch screen minor mode would be handy for some newer > laptops. Like, "pull down" to scroll a page, and "swipe right" to enter > a directory, and... stuff... > > The reason I'm asking is that I'm trying to figure out how to use a > Surface Pro as a music playing machine without having a keyboard. I've > got an Emacs-based music player, of course, and I can use the on-screen > keyboard for "complicated" things (like searching for a specific > artist), but it seems to me like there should be a common (but > extensible) set of swipe-based commands for Emacs... I also have a surface pro running Fedora and Emacs. I use (grab-and-drag-mode 1) which helps a bit. A couple of years ago I made a command completion mode when I used Emacs on the Openmoko phone. It has since bitrotted but the idea was to present all unique stems of all possible completions. This was convenient while not having a keyboard. -- Joakim Verona ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-20 22:43 Emacs touch interface Lars Magne Ingebrigtsen 2015-12-21 0:28 ` John Wiegley 2015-12-24 8:47 ` joakim @ 2016-01-04 20:10 ` Lars Magne Ingebrigtsen 2016-01-04 20:35 ` Anders Lindgren 2016-01-05 19:09 ` Rasmus 2016-02-05 5:34 ` Lars Ingebrigtsen 3 siblings, 2 replies; 16+ messages in thread From: Lars Magne Ingebrigtsen @ 2016-01-04 20:10 UTC (permalink / raw) To: emacs-devel Multitouch and gestures on GNU/Linux is a rather painful subject, apparently. If you google for it, you get a lot of outdated information, but apparently the modern way to get access to gestures is via a library called "geis": http://people.canonical.com/~stephenwebb/geis-v2-api/using_geis_v1.html Here's an example program that uses this stuff: https://github.com/JoseExposito/touchegg/blob/master/src/touchegg/gestures/collector/GestureCollector.cpp With geis, you have access to gestures like "three fingered drag to the left" and "four finger pinch" which you can then map to any action you like. (local-set-key [(pinch three-fingered outwards)] 'report-emacs-bug) :-) Getting this stuff into Emacs looks like a bigger project than I had thought... and you'd need completely separate implementations on GNU/Linux, Windows and OS X... So I'm not going to look into this any further, I think. The aforementioned Touchégg program provides an external mapper from gestures to key strokes, and I'm just going to use that for my one use case (an Emacs-based music player). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2016-01-04 20:10 ` Lars Magne Ingebrigtsen @ 2016-01-04 20:35 ` Anders Lindgren 2016-01-06 1:45 ` YAMAMOTO Mitsuharu 2016-01-05 19:09 ` Rasmus 1 sibling, 1 reply; 16+ messages in thread From: Anders Lindgren @ 2016-01-04 20:35 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1831 bytes --] It would be a good idea to define the events that the different gestures should generate. That way we would reduce the risk that different implementations would come up with their own set of incompatible event names. The only implementation I know of that define gestures is the carbon "mac" port, maybe we should use its event names as precedence? It uses `sweep-left/right/up/down', `magnify-up/down', and `rotate-left/right'. -- Anders On Mon, Jan 4, 2016 at 9:10 PM, Lars Magne Ingebrigtsen <larsi@gnus.org> wrote: > Multitouch and gestures on GNU/Linux is a rather painful subject, > apparently. If you google for it, you get a lot of outdated > information, but apparently the modern way to get access to gestures is > via a library called "geis": > > http://people.canonical.com/~stephenwebb/geis-v2-api/using_geis_v1.html > > Here's an example program that uses this stuff: > > > https://github.com/JoseExposito/touchegg/blob/master/src/touchegg/gestures/collector/GestureCollector.cpp > > With geis, you have access to gestures like "three fingered drag to the > left" and "four finger pinch" which you can then map to any action you > like. > > (local-set-key [(pinch three-fingered outwards)] 'report-emacs-bug) > > :-) > > Getting this stuff into Emacs looks like a bigger project than I had > thought... and you'd need completely separate implementations on > GNU/Linux, Windows and OS X... > > So I'm not going to look into this any further, I think. The > aforementioned Touchégg program provides an external mapper from > gestures to key strokes, and I'm just going to use that for my one use > case (an Emacs-based music player). > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > > > > [-- Attachment #2: Type: text/html, Size: 2740 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2016-01-04 20:35 ` Anders Lindgren @ 2016-01-06 1:45 ` YAMAMOTO Mitsuharu 0 siblings, 0 replies; 16+ messages in thread From: YAMAMOTO Mitsuharu @ 2016-01-06 1:45 UTC (permalink / raw) To: emacs-devel >>>>> On Mon, 4 Jan 2016 21:35:22 +0100, Anders Lindgren <andlind@gmail.com> said: > It would be a good idea to define the events that the different > gestures should generate. That way we would reduce the risk that > different implementations would come up with their own set of > incompatible event names. > The only implementation I know of that define gestures is the carbon > "mac" port, maybe we should use its event names as precedence? It > uses `sweep-left/right/up/down', `magnify-up/down', and > `rotate-left/right'. s/sweep/swipe/ Anyway, as gesture handling seems to be meaningful on GNU/Linux, it will become yet another feature that cannot be included if the Mac port goes to the mainline in its restricted form, until this feature is supported in a free platform. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2016-01-04 20:10 ` Lars Magne Ingebrigtsen 2016-01-04 20:35 ` Anders Lindgren @ 2016-01-05 19:09 ` Rasmus 1 sibling, 0 replies; 16+ messages in thread From: Rasmus @ 2016-01-05 19:09 UTC (permalink / raw) To: emacs-devel Lars Magne Ingebrigtsen <larsi@gnus.org> writes: > Multitouch and gestures on GNU/Linux is a rather painful subject, > apparently. If you google for it, you get a lot of outdated > information, but apparently the modern way to get access to gestures is > via a library called "geis": > > http://people.canonical.com/~stephenwebb/geis-v2-api/using_geis_v1.html Some gestures are built into GTK3/Gnome-Shell, e.g.: https://developer.gnome.org/gtk3/stable/Gestures.html https://wiki.gnome.org/Projects/Mutter/Gestures https://wiki.gnome.org/Design/OS/Gestures https://help.gnome.org/misc/release-notes/3.14/touchscreen-gestures.html.en I don't know if they can easily be used in Emacs... Rasmus -- When the facts change, I change my mind. What do you do, sir? ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2015-12-20 22:43 Emacs touch interface Lars Magne Ingebrigtsen ` (2 preceding siblings ...) 2016-01-04 20:10 ` Lars Magne Ingebrigtsen @ 2016-02-05 5:34 ` Lars Ingebrigtsen 2016-02-05 8:28 ` Marcin Borkowski 3 siblings, 1 reply; 16+ messages in thread From: Lars Ingebrigtsen @ 2016-02-05 5:34 UTC (permalink / raw) To: emacs-devel I spent a day googling and scratching my head, but it seems like the support for gestures in Linux is pretty weak. For instance, by default the Unity interface in Ubuntu doesn't let through any gestures to the applications, and the ones it does recognise (four-fingered ones) can't be remapped. You have to recompile Unity to do anything with the events, and in addition you have to run a separate daemon to translate events. So I'm not going to proceed any further down that lane for Emacs. Unless I'm misunderstanding something basic here, this is all pretty immature (on GNU systems, at least). But here's what I ended up with as a touch interface for my Emacs-based music player: http://lars.ingebrigtsen.no/2016/02/05/touchy-emacs/ -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2016-02-05 5:34 ` Lars Ingebrigtsen @ 2016-02-05 8:28 ` Marcin Borkowski 2016-02-05 18:29 ` Thorsten Jolitz 0 siblings, 1 reply; 16+ messages in thread From: Marcin Borkowski @ 2016-02-05 8:28 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: emacs-devel On 2016-02-05, at 06:34, Lars Ingebrigtsen <larsi@gnus.org> wrote: > I spent a day googling and scratching my head, but it seems like the > support for gestures in Linux is pretty weak. For instance, by default > the Unity interface in Ubuntu doesn't let through any gestures to the > applications, and the ones it does recognise (four-fingered ones) can't > be remapped. > > You have to recompile Unity to do anything with the events, and in > addition you have to run a separate daemon to translate events. > > So I'm not going to proceed any further down that lane for Emacs. > Unless I'm misunderstanding something basic here, this is all pretty > immature (on GNU systems, at least). That's a pity. I'd *love* to be able to use Org proper on, say, an Android tablet, and e.g. swipe to change the state of TODOs. > But here's what I ended up with as a touch interface for my Emacs-based > music player: > > http://lars.ingebrigtsen.no/2016/02/05/touchy-emacs/ Nice! Best, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Emacs touch interface 2016-02-05 8:28 ` Marcin Borkowski @ 2016-02-05 18:29 ` Thorsten Jolitz 0 siblings, 0 replies; 16+ messages in thread From: Thorsten Jolitz @ 2016-02-05 18:29 UTC (permalink / raw) To: emacs-devel Marcin Borkowski <mbork@mbork.pl> writes: > On 2016-02-05, at 06:34, Lars Ingebrigtsen <larsi@gnus.org> wrote: > >> I spent a day googling and scratching my head, but it seems like the >> support for gestures in Linux is pretty weak. For instance, by default >> the Unity interface in Ubuntu doesn't let through any gestures to the >> applications, and the ones it does recognise (four-fingered ones) can't >> be remapped. >> >> You have to recompile Unity to do anything with the events, and in >> addition you have to run a separate daemon to translate events. >> >> So I'm not going to proceed any further down that lane for Emacs. >> Unless I'm misunderstanding something basic here, this is all pretty >> immature (on GNU systems, at least). > > That's a pity. I'd *love* to be able to use Org proper on, say, an > Android tablet, and e.g. swipe to change the state of TODOs. Maybe this is a handy and pragmatic solution (developed by PicoLisp Guru Alexander Burger, and in productive use on a Nexus tablet as far as I know): https://www.youtube.com/watch?v=z_01ha1uS6Y13 ,---- | Short demo of the Penti keyboard on Android. Allows chorded input of | all ASCII - letters, digits, punctuation and control - and | navigation keys - arrows, page up/down, home, end, function keys | etc. -, with the five fingers of your right or left hand. | | Available currently for Android version 5.0, and as a Linux kernel Especially suited for use with Vim or Emacs evil-mode I would say (the less keystrokes, the better). Here is an exhaustive list of all key chords, somewhere I've seen a kind of tutorial too - when there is demand, I search for it: Akkord DIGIT PUNCT --------------------------------------------------- 01 - ---# N ) 02 - --#- I 3 ! 03 - --## G 9 = 04 - -#-- E 2 [ 05 - -#-# RESET 06 - -##- O 8 | 07 - -### M - > 08 - #--- S 1 * 09 - #--# J : ; 0A - #-#- C , ] 0B - #-## V ( 0C - ##-- L 7 _ 0D - ##-# RESET 0E - ###- U 0 & 0F - #### K DEL @ 10 # ---- SPACE SPACE SPACE 11 # ---# D . / 12 # --#- A 6 ` 13 # --## Y ^ 14 # -#-- R 5 $ 15 # -#-# RESET 16 # -##- B { 17 # -### T ~ % 18 # #--- F 4 ? 19 # #--# H # 1A # #-#- Q ' 1B # #-## X \ 1C # ##-- Z " 1D # ##-# RESET 1E # ###- P + } 1F # #### W < Arpeggio --------------------------------------------------- 18 # #--- CNTRL 0C - ##-- BS 14 # -#-- SHIFT 0A - #-#- RET 12 # --#- DIGIT 09 - #--# TAB 11 # ---# PUNCT 06 - -##- ESC Mnemo -------------------------------------------------------------------- - #--- S # -#-- R # #--- F # ##-- Z # ###- P - -#-- E # --#- A - ##-- L - ###- U - #### K - --#- I # ---# D - -##- O - -### M # #### W - ---# N - --## G # -##- B - #-#- C # #-#- Q # --## Y - #--# J # #--# H # -### T - #-## V # #-## X - #--- 1 # #--- 4 - ##-- 7 - ###- 0 - -#-- 2 # -#-- 5 - -##- 8 - --#- 3 # --#- 6 - --## 9 -- cheers, Thorsten ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2016-02-05 18:29 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-20 22:43 Emacs touch interface Lars Magne Ingebrigtsen 2015-12-21 0:28 ` John Wiegley 2015-12-21 0:48 ` Lennart Borgman 2015-12-21 15:28 ` Eli Zaretskii 2015-12-21 16:03 ` Lars Magne Ingebrigtsen 2015-12-21 16:05 ` Lars Magne Ingebrigtsen 2015-12-21 16:27 ` Eli Zaretskii 2015-12-22 16:20 ` Renaud Casenave-Péré 2015-12-24 8:47 ` joakim 2016-01-04 20:10 ` Lars Magne Ingebrigtsen 2016-01-04 20:35 ` Anders Lindgren 2016-01-06 1:45 ` YAMAMOTO Mitsuharu 2016-01-05 19:09 ` Rasmus 2016-02-05 5:34 ` Lars Ingebrigtsen 2016-02-05 8:28 ` Marcin Borkowski 2016-02-05 18:29 ` Thorsten Jolitz
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).