Forum: Ruby Get key pressed

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
E9c9015851ee37a0b0b7ae554da68d26?d=identicon&s=25 Alejandro Michelin salomon (amichelin)
on 2009-02-27 20:03
Hi
i need to now how to get a key pressed.

I have a tcpserver, and i want to get if the user press control + x.
If the users press control + x i make the shutdown.

Can you give my some ligth?
D15a45a973443d4562051eb675b60474?d=identicon&s=25 Tom Cloyd (Guest)
on 2009-02-28 05:41
(Received via mailing list)
Alejandro Michelin salomon wrote:
> Hi
> i need to now how to get a key pressed.
>
> I have a tcpserver, and i want to get if the user press control + x.
> If the users press control + x i make the shutdown.
>
> Can you give my some ligth?
>
I have an interest in this myself, and hope soon to be acting on it.
Meanwhile, MY prime resource is this:

On page 776 of the <Ruby Cookbook> (see "Resources" below) takes up
"Getting Input One Character at a Time". It discusses the Curses
extension that is a part of Ruby, and the Highline library (a gem). It's
only a couple of pages, but its the most focused discussion I've seen
yet. I assume that I'll learn more from the RDoc material associated
with the Highline gem, and probably in various blogs out there
somewhere, etc.

All I know... hope it helps.

t.

Resources:

* O'Reilly publisher sales page:
http://oreilly.com/catalog/9780596523695/ - Prices here seem high. I
know I didn't pay $40 for my PDF version. Amazon may have used copies
for cheaper.

--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< tc@tomcloyd.com >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4299e35bacef054df40583da2d51edea?d=identicon&s=25 James Gray (bbazzarrakk)
on 2009-02-28 15:39
(Received via mailing list)
On Feb 27, 2009, at 10:40 PM, Tom Cloyd wrote:

> On page 776 of the <Ruby Cookbook> (see "Resources" below) takes up
> "Getting Input One Character at a Time". It discusses the Curses
> extension that is a part of Ruby, and the Highline library (a gem).
> It's only a couple of pages, but its the most focused discussion
> I've seen yet. I assume that I'll learn more from the RDoc material
> associated with the Highline gem, and probably in various blogs out
> there somewhere, etc.

Here's a blog post you might enjoy, though it won't help with the
TCPServer case being discussed in this thread:

http://blog.grayproductions.net/articles/i_just_wa...

James Edward Gray II
D15a45a973443d4562051eb675b60474?d=identicon&s=25 Tom Cloyd (Guest)
on 2009-02-28 20:22
(Received via mailing list)
James Gray wrote:
> Here's a blog post you might enjoy, though it won't help with the
> TCPServer case being discussed in this thread:
>
> http://blog.grayproductions.net/articles/i_just_wa...
>
> James Edward Gray II
>
>
James, THANKS! That pretty much nails it. A fine contribution to the
community. (Nice clean minimalist blog layout too...)  ~t.

--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< tc@tomcloyd.com >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
F065301eb65a5d0da8edcb8de9d5e28e?d=identicon&s=25 Tim Greer (Guest)
on 2009-02-28 20:44
(Received via mailing list)
Alejandro Michelin salomon wrote:

> Hi
> i need to now how to get a key pressed.
>
> I have a tcpserver, and i want to get if the user press control + x.
> If the users press control + x i make the shutdown.
>
> Can you give my some ligth?

To be clear, is this a tcpserver running on the local system where you
want to catch the signal (CTRL-X) or do you mean the tcpserver is
running on a remote system and you want to capture the local singal and
send that to the remote service?
Ae16cb4f6d78e485b04ce1e821592ae5?d=identicon&s=25 Martin DeMello (Guest)
on 2009-02-28 21:28
(Received via mailing list)
On Sat, Feb 28, 2009 at 8:07 PM, James Gray <james@grayproductions.net>
wrote:
>
> Here's a blog post you might enjoy, though it won't help with the TCPServer
> case being discussed in this thread:
>
> http://blog.grayproductions.net/articles/i_just_wa...

Highline is an excellent example of a ruby library that takes a
single, hard problem and solves it really, really well.

martin
E9c9015851ee37a0b0b7ae554da68d26?d=identicon&s=25 Alejandro Michelin salomon (amichelin)
on 2009-02-28 21:33
Tim Greer wrote:
> Alejandro Michelin salomon wrote:
>
>> Hi
>> i need to now how to get a key pressed.
>>
>> I have a tcpserver, and i want to get if the user press control + x.
>> If the users press control + x i make the shutdown.
>>
>> Can you give my some ligth?
>
> To be clear, is this a tcpserver running on the local system where you
> want to catch the signal (CTRL-X) or do you mean the tcpserver is
> running on a remote system and you want to capture the local singal and
> send that to the remote service?

Tim i need to catch the signal ctrl-x on local machine, to shutdown the
server.

The problem is this code :

client = server.accept
The signal ctrl-x does nothing.
F065301eb65a5d0da8edcb8de9d5e28e?d=identicon&s=25 Tim Greer (Guest)
on 2009-02-28 21:50
(Received via mailing list)
Alejandro Michelin salomon wrote:

>>
> client = server.accept
> The signal ctrl-x does nothing.
>

Sorry if I wasn't clear, is the server local to the same machine where
you have the keyboard connected that will send the command?  Will this
perhaps be on a remote (or local) server in shell/cli? That is, what
interface will you need to use to pass this signal to? (I hope that
makes sense).
This topic is locked and can not be replied to.