Visual Basic 2010 How can I tell if the user stops pressing a key

Hi all
I am using the code below and I just need a way of telling if the user has stopped pressing a key.
Have tried to use Key up  but I can not get it to work? please can you show me how I can do it Thanks
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean

           Select keyData
            Case Keys.Down
                key1 = Keys.Down
                If key2 <> key1 Then
                    Call tiltdown1()
                End If
                key2 = key1

            Case Keys.Up
                key1 = Keys.Up
                If key2 <> key1 Then
                    Call tiltup1()
                End If
                key2 = key1

            Case Keys.Right
                key1 = Keys.Right
                If key2 <> key1 Then
                    Call Panright1()
                End If
                key2 = key1

            Case Keys.Left
                key1 = Keys.Left
                If key2 <> key1 Then
                    Call Panleft1()
                End If
                key2 = key1

            Case Keys.M
                key1 = Keys.M
                If key2 <> key1 Then
                    Call zoomout1()
                End If
                key2 = key1

            Case Keys.N
                key1 = Keys.N
                If key2 <> key1 Then
                    Call zoomin1()
                End If
                key2 = key1

            Case Keys.S
                key1 = Keys.S
                If key2 <> key1 Then
                    Call allstop1()
                End If
                key2 = key1

        End Select
        Return temp(0)

    End Function

Open in new window

LetchfordPAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Chris Raisin(Retired Analyst/Programmer)Commented:
How about this. No key pressed actually has a value in Keys (Keys.None)

\Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean

           Select keyData
            Case Keys.Down
                key1 = Keys.Down
                If key2 <> key1 Then
                    Call tiltdown1()
                End If
                key2 = key1

            Case Keys.Up
                key1 = Keys.Up
                If key2 <> key1 Then
                    Call tiltup1()
                End If
                key2 = key1

            Case Keys.Right
                key1 = Keys.Right
                If key2 <> key1 Then
                    Call Panright1()
                End If
                key2 = key1

            Case Keys.Left
                key1 = Keys.Left
                If key2 <> key1 Then
                    Call Panleft1()
                End If
                key2 = key1

            Case Keys.M
                key1 = Keys.M
                If key2 <> key1 Then
                    Call zoomout1()
                End If
                key2 = key1

            Case Keys.N
                key1 = Keys.N
                If key2 <> key1 Then
                    Call zoomin1()
                End If
                key2 = key1

            Case Keys.S
                key1 = Keys.S
                If key2 <> key1 Then
                    Call allstop1()
                End If
                key2 = key1
            case Keys.None
               ' Do something else!
        End Select
        Return temp(0)

    End Function

Open in new window

0
Jacques Bourgeois (James Burger)PresidentCommented:
The easiest way to do it is to react to the KeyUp event on the control where you want to check. You can also use the KeyDown event to detect when the user press down on the key.

If you want to detect the release of the key for the whole form, then first set its KeyPreview property to True and then make the detection in the KeyUp event of the form itself.

You can identify the key that was released through the e.KeyCode parameter passed to the event.
0
LetchfordPAuthor Commented:
Thank you for the input. I do like the Keydown and Keyup way of doing it but it I can not get it to work.
I only have 1 form called Form1, how do I make the KeyPreview property to True part of the form
tired Form1 = KeyPreview = True  at the start of the program comes up with error Form1
tired to put it in the Sub but still the same error.
just need to do the arrow keys  could you give me a working bit of VB i can try please
must be missing the point somewhere.
thank you both for your reply's
0
HTML5 and CSS3 Fundamentals

Build a website from the ground up by first learning the fundamentals of HTML5 and CSS3, the two popular programming languages used to present content online. HTML deals with fonts, colors, graphics, and hyperlinks, while CSS describes how HTML elements are to be displayed.

LetchfordPAuthor Commented:
I did try this as a test it still did not work
what am i doing wrong?

Public Class Form1
    Dim keycon
    Private Sub Form_Load()
        Me.KeyPreview = True
    End Sub

    Private Sub Form_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
        Select Case KeyCode
            Case Keys.Up
                keycon = 1
                Call printb()
            Case Keys.Down
                keycon = 2
                Call printb()
            Case Keys.Right
                keycon = 3
                Call printb()
            Case Keys.Left
                keycon = 4
                Call printb()
            Case Else
        End Select
    End Sub
    Private Sub printb()
        TextBox1 = keycon
    End Sub
End Class
0
aikimarkCommented:
@LetchfordP

I don't see that you've coded a KeyUp() event, just a KeyDown() event.
0
LetchfordPAuthor Commented:
That is true but if I can get key down to work so will key up
can someone show me what I am doing wrong
0
Jacques Bourgeois (James Burger)PresidentCommented:
I see that you are really new at programming in VB. These are basic tasks that one needs to know first because he start developing Windows Applications in .NET.

You need to know how to work with forms before you start adding code to them. I suggest that you get a simple basic book such as VB.NET for Dummies. Do not be fooled by the title, this one is quite good to set you up when you begin. It will get you in step by step, which is essential when someone begins to work in a new development environment.

To set the KeyPreview, you click on the title bar of the form in design mode. You will then find the KeyPreview in the Properties window, in the right side of the screen by default.

Then, KeyDown and KeyUp are events. Events are called by the system, so they need to follow strict conventions. These are not methods that you create from the sky as you did.

To create an event, open the left dropdown a the top of the code editor window, the one that shows (General) by default, and select  your form Events. Then, in the dropdown at the right, select KeyDown. This will generate the event procedure that will be called by the system when the users push down on a key.

Get the key through e.KeyCode (not KeyCode alone).
0
aikimarkCommented:
This question is about detecting the un-pressing of a key.  That is done with the KeyUp() event.
0
LetchfordPAuthor Commented:
Jacques Bourgeois (James Burger)
Thank you for your help that is what I need someone to explain it in simple terms

 aikimark
I did not know how to get the key"anything" to work

Thank you to all for your help
0
Chris Raisin(Retired Analyst/Programmer)Commented:
Did you check out my answer I gave ages ago? The keys.None test is all that is required.
See a40656060 above.

Cheers
Chris (Australia)
0
LetchfordPAuthor Commented:
Chris
Yes I did but I did not work and I do not know how to make it work
Sorry very new to this
0
Chris Raisin(Retired Analyst/Programmer)Commented:
Your code also need to be within the form, not a button, and the Forms "keyPreview property must be set to true.
another side "timed" procedure should be run every half second to detect that no key has been pressed.
The timer will be set to start when a user presses a key.

You will need to set up a timer to run that procedure, which will then simply call your existing code named "ProcessCmdKey" (with the added "case keys.None" bit of code.
Once "None" is detected (meaning no key is being held down), the timer must then stop (put this under the "Keys.None" test.

Would you like me to write that code for  youor can you do it yourself?

Cheers
Chris
0
LetchfordPAuthor Commented:
Hi Chris
If you have the time yes please
I can then see how you can make it work
I can now find the keyPreview property
but as for setting up a timer help please

Paul
0
Chris Raisin(Retired Analyst/Programmer)Commented:
No worries...I am working on it, but I need some sleep first since I have been up all night (it is 9.14am now)

Stand by....

Chris
0
Chris Raisin(Retired Analyst/Programmer)Commented:
OK....I go back on what I say about the Key.None scenario. It is truew that the KeyUp event is what is needed here, but
you should not really place your code in the main ProcessCmdKey function which controls all forms that have
"KeyPreview" set to true. If you have other forms in a project then you would bne apllying your code to the other forms as well (which you may not want to do).

Your use of "key1" and "key2" is not requires, since I gather you were just seeing whether the user re-pressed the same key (would never be needed in the keyup scenario).

Also, the KeyUp procedure is a "sub" so no return value is needed (in fact the compiler will reject it)

You apply your code to the forms own KeyUp procedure as showing in my code below.

Simply run the ode, and hold down one of your assigned keys for a few seconds then let go. The
message on the form will show that key you just executed and will then revert back to asking for a new key.
When the message changes, you know the code has realised that there is no key currently held down.

When the key IS held down, the message will disappear.

May I suggest to you (if you like) that you upgrade from Visual Basic 2010 to the latest verion of Visual Studio which is now free to everybody (thankyou Microsoft!)
What you need to do is get Visual Studio Community 2013 available from:
https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx

I have added a small label to the box called "lblMessage" which will show up what key is pressed and also indicate when a key is not pressed by saying "Press a key please".
Place the lable at position 248,252 (lower right-hand corner) and apply font size 12 point.
Give it an initial text value of "* Please press a key *"
Form1 appearing with a messageThe system function "IsInputKey" needs to be overridden to enable "KeyUp" and "KeyDown" to be recognised as input
keys (they normally are handled by the Form itself and are by default non-input keys. I assume that is because they are reserved for cursor movement. Be aware though that if you have a text box or some other control that accepts input, you will need some more fancy coding to allow the up and down arrows (and Tab and Enter and Esc) to work when such controls are accepting input.

This code MAY work in VB2010 but I cannot guarantee it (I skipped that version).

It may give you some insight on how the code works.....

Cheers
Chris (Australia)

Imports System.Windows.Input   'needed for the keycodes 
Imports System.Threading       'needed for the "sleep" function

Public Class Form1
    Private interval As New TimeSpan(0, 0, 1)  '1second

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
    Protected Overrides Function IsInputKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
        'weneed to override this to force unusual keys such as "up" and"down" to be input keys
        Select Case keyData
            Case Keys.Tab
                Return True
            Case Keys.Up
                Return True
            Case Keys.Down
                Return True
            Case Keys.Return
                Return True
            Case Keys.Escape
                Return True
            Case Else
                Return MyBase.IsInputKey(keyData)
        End Select
    End Function
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        lblMessage.Text = ""
        lblMessage.Refresh()
    End Sub

    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp

        ' Determine whether the key entered is the F1 key. Display help if it is. 
        Select Case e.KeyCode
            Case Keys.F1
                ' Display a pop-up help topic to assist the user.
                Help.ShowPopup(Me, "Help is not available", New Point(Me.Right, Me.Left))
            Case Keys.Down
                tiltdown1()

            Case Keys.Up
                tiltup1()

            Case Keys.Right
                Panright1()

            Case Keys.Left
                panleft1()

            Case Keys.M
                zoomout1()

            Case Keys.N
                zoomin1()

            Case Keys.S
                allStop1()
            Case Else
                unknown1()
        End Select
        Me.Refresh() 'refresh the entire form to update the lblMessage to "wait" state
    End Sub 'textBox1_KeyUp
    Private Sub tiltdown1()
        lblMessage.Text = "TiltDown executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub tiltup1()
        lblMessage.Text = "TiltUp executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub Panright1()
        lblMessage.Text = "TiltRight executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub panleft1()
        lblMessage.Text = "Panleft executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub zoomout1()
        lblMessage.Text = "ZoomOut executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub zoomin1()
        lblMessage.Text = "ZoomIn executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub allStop1()
        lblMessage.Text = "Allstop executed"
        lblMessage.Refresh()
        Thread.Sleep(interval)
        lblMessage.Text = "* Please press a key *"
    End Sub
    Private Sub unknown1()
        lblMessage.Text = "* Please press a key *"
    End Sub
End Class

Open in new window

0
Jacques Bourgeois (James Burger)PresidentCommented:
@Christopher

You are going too far. LetchfordP is learning, and is only beginning. It's evident by its questions and the kind of code he tries to write.

You do not talk about overriding to somebody does not clearly understand what an event is and who yesterday only, did not know how to use the Properties window and tried to set a property with a syntax such as Form1 = KeyPreview = True.

He is evidently confused, which is normal for somebody who starts, but you are only adding to his confusion. He told it himself: "I need someone to explain it in simple terms".

@LetchfordP

What is your aim with that question? Are you simply trying to learn or do you have a job to do? What is your background in programming?
0
Chris Raisin(Retired Analyst/Programmer)Commented:
Paul,

I am sorry if I confused you in any way.

Woyuld you like me to put together a turorial on how this code works and walk through it step by step?
I gather (and I was not really aware of this) that you are just learning Visual Basic .NET. You may have found my codeing hard to folow orm y comments confusing, and for this I apologize.

There are a lot of free lessons on line for Visual Basic.Net and I can point you in that direction if you wish.

Excuse my remarks above to soem other person on this thread, but I took offense at his remarks, which is never pleasant. I am only here to help you wherever I can, so please do let me know exactly what help uyou need and I will gladly guide you along an easier path.

Cheers
Chris (Melbourne)
0
LetchfordPAuthor Commented:
Hi Guys
Thank you both for your help sorry to see there was a upset. I am at work and just having a quick look in
I will come back to you after work 18:00 GMT
0
Chris Raisin(Retired Analyst/Programmer)Commented:
Sorry Jacques, I completely misread your earlier message. I thought your final question was to me (that's what comes of sitting up so late). My deepest apologies.

Chris
0
Jacques Bourgeois (James Burger)PresidentCommented:
No offense taken Christopher. I also often spend time here when I should be sound asleep and regret it afterward.

My only aim with that message was to relaunch the discussion at a more basic level. Since 1994, 80 % of my work is to train programmers in VB.Net. One of the first things I learned when I started doing that job is that when you coach somebody, you need to first understand their level of knowledge so as to properly adjust the level of discussion.

And my analysis here is that LetchfordP is just starting. So we need to keep things to basics.

Jacques (Montreal).
0
aikimarkCommented:
@Jacques

Since 1994, 80 % of my work is to train programmers in VB.Net
.Net didn't appear until late 2000 (beta) and 2002 (GA)
0
Jacques Bourgeois (James Burger)PresidentCommented:
Ooops. Good point. I should have said VB.

I started my training career with VB3. I switched to VB.Net when the beta appeared, because I had requests for .NET training almost as soon as Microsoft started to state that this was the future of Windows development.
0
LetchfordPAuthor Commented:
Hi Guys
Well where to start I have worked with computers most of my life (59) but never done any VB programming or any thing other than a bit of code for the Sinclair spectrum z80.
Why do i need this program. well I help out in our local church and we have a 3 video PTZ cameras to stream the program out to the web so ones that are ill or far away can still see the program. We use a program called Vmix to do all the mixing and sending but the PTZ's came with a joystick and a switch box. We had a guy help out by doing a program and for a time it worked well but he moved away and we need to change the PTZ cameras we now have 3 cameras to control and do not want to us the old joystick so I said and you can guess the rest. so now have 1 of the cams home so I can test it out and thought I will use VB as it was free!!! So now I can with the help of you 2 can get the camera to track and remember where people are I have a big Form with a photo of all the congregation so all you have to do is click on the photo and the camera will goto that person all I need to do next is add the part to send the camera to the Vmix program it is built to receive commands on port 8080  this a bit of the code to send out the cut command to switch cameras (good old google):

 Private Sub Cut1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cut1.Click
        'Public Shared Sub Main()
        ' Create a request for the URL.
        Dim request As WebRequest = _
          WebRequest.Create("http://127.0.0.1:8088/api/?Function=cut")
        ' If required by the server, set the credentials.
        request.Credentials = CredentialCache.DefaultCredentials
        ' Get the response.
        Dim response As WebResponse = request.GetResponse()
        ' Display the status.
        Console.WriteLine(CType(response, HttpWebResponse).StatusDescription)
        ' Get the stream containing content returned by the server.
        Dim dataStream As Stream = response.GetResponseStream()
        ' Open the stream using a StreamReader for easy access.
        Dim reader As New StreamReader(dataStream)
        ' Read the content.
        Dim responseFromServer As String = reader.ReadToEnd()
        ' Display the content.
        Console.WriteLine(responseFromServer)
        ' Clean up the streams and the response.
        reader.Close()
        response.Close()
    End Sub    
 and to make it work all the time, sort out so when you click on a photo 1st time we send a command to the cam to move, wait until it gets there, and them send the cut command to vmix to display the camera, when you click photo the 2nd time you send a cut command again to switch cameras but to the platform display. and so more work trying to find people take there photo and put it in the box so the next time they answer you just click on them again to save time tracking the camera. and then ?
and next time do not volunteer!!!
PS I do not know how the program works but but I will get there, only spent about 4 nights so far thanks you guys and Google. you are right to say get a book and take some youtube but I am so short on time.
Anyway how do I give you guys some points?
0
Jacques Bourgeois (James Burger)PresidentCommented:
Seeing your pieces of code since the beginning, you are mixing things up. Your last example is a perfect demonstration.

It seems to have originated somewhere in a module (because of the commented out Sub Main), but then ended up in a Windows Form (Cut1_Click has the signature of a Windows Application Click event), but you use code that is good for a Web application. Bits and pieces that you probably grabbed in different places, but are all different things that need to be programmed in different ways.

When you programmed on the Sinclair, you had only one way to do it.

.NET is designed to program Windows applications, Class libraries, Web applications, Mobile applications, Service applications, Phone applications, Console applications and a few others. Although they use the same language (VB in your case), they all require a different approach to programming. Even in a given type of application, lets say a Web application, you might have to chose between different "subtypes" (Web Forms, MVC, Web API, Azure/cloud), and each works in a way that is different from the other.

Except for simple things such as working with variables and creating your own methods (Sub and Functions), what works in one Type/SubType does not work in another. The Click event on a Web button does not give you the same type of information as the Click event in a Windows application. So you cannot take the code in one and expect that it will work in the other.

For instance, Web applications are very limited in the way you can handle the user interface. To my knowledge, the KeyUp and KeyDown events that we were discussing up to now do not exist in a Web application.

This being said with all reserve. With all my experience, I have a great proficiency in Windows applications, but would not dare take a contract for a Web application. I can understand code for the web such as the one in your last example, but would have problem debugging it if I had a problem, and would not be able to write it myself without a good example opened on my second monitor.

Contrary to what you were doing with the Sinclair, where knowing the 60 or so commands in the old BASIC language was sufficient, you have learn many different technologies to program modern computers. And find your way in the 10,000+ classes that make the .NET framework, most of them containing more commands than the old BASIC did.

You need to grasp at least a few basics before you write your first line of code, otherwise you will lose your time, and possibly your nervous balance. In modern languages, not knowing the difference between a property and a method is like not knowing the difference between a variable and a constant. That is why I suggested that you begin with a good book.

Believe me, it would be faster than going the way you are doing it now. In the 4 nights that you spent mixing code from everywhere, with our help that finally ended up being useless, you would have gained a lot of basic knowledge. Having the basics, you could start on the right foot, be more precise in your questions, and we would be able to help you.

"I am so short on time" does not work in today's programming when you are starting from scratch.

You have many technologies to learn, depending on your specific needs. And the best way to go is to get to them one at a time.

You need to learn a language, and VB is one of the easiest to learn. But it take times. I give a 4 day introductory training course, to professional programmers. Only the basics of the language. And I repeat, they are professionals. It's quite easy for those who had their schooling in the last 15 years or so. But many of the older ones, programmers who have programmed every working day for 20-30 years, find it quite hard, because there is so much new stuff they need to learn.

You also have to learn at least the basics of object oriented programming. Programming today is not like programming in the old days. Everything is an object now, at least in the .NET world. That is what makes it hard for older programmers. They did not learn to program with objects when they learned programming. Many if not most younger programmers learn what an object is before they learn what a variable is.

If you are going to deal with the web, depending on what you need in your web pages, you might have to learn a bit of HTML and JavaScript, which are the standard for Web pages. VB only provides background processing. The Web pages themselves are made with HTML and JavaScript. Visual Studio generates the HTML and the JavaScript when you design a web page. But you might have to understand a bit of these if you need to make some types of changes in the appearance or the way the the pages behave.

You will need to learn to work with your cameras through programming. Controlling external hardware is often the hardest part of programming nowadays. And this is not something that we can help you with, because when you are dealing with specialized hardware, each one has its own programming interface. Most of the time, you need the documentation from the manufacturer in order to know how to deal with these things. And be lucky enough that they have documentation for VB and .NET, because there are so many languages and environments nowadays that they do not provide documentation for all of them.

I do not want to discourage you. I am only stating the facts as far as I can understand your needs from your description. The project that you seem to be going into is not an easy one at first sight.

So basically, take a good breath, and be prepared to learn a lot of new stuff. But do it step by step. Pick up a book like the one I proposed in a previous post to learn VB.NET. If you will have to work with web pages, you will also need something about web development in .NET. But before buying that last one or borrowing it from the public library, make an inquiry here to be sure that it is useful with the type of web application that you have now. As I told you before there are many subtypes of web applications. Follow the books step by step by doing the exercises that they propose.

We will be there to help along as you go (at least on the VB part as far as I am concerned, Web development is not my cup of tea). And we will be able to do so, which is not the case actually, because you mix up too many different things and it is hard for us to follow and answer. We do not know which words are meaningful to you and which are not. "Can I just say property, or do I have to explain. Does he know what an object is? He probably does not know that he needs to reference a dll before using it, and maybe not even what is the purpose of a dll." These are basic words that we often need to use to explain things, and we expect you to know most of them. We understand that you do not understand them all, but we cannot define a word every time that we use it.

Helping you with pieces of code is useless unless you understand what is happening. We cannot teach you the basics, it would be too long. At your level, we can only help you by explaining in different words concepts that you have problems to grasp when learning, gradually, in a progression that make sense. When you learn woodworking, you learn how to prepare wood and cut it to the proper dimensions before you learn how to make a strong joint between 2 pieces. The same thing goes with programming. What is the use of a piece of code if you do not know where to put it, if you do not make the difference between a Sub Main, an event Sub and a "standard" Sub? Between the way a Windows application is structured and the way a web application is?

Once you start to understand the basics, give yourself simpler project than controlling cameras. That one could be hard even for somebody who knows the language and the environment very well.

Then find the documentation for your cameras and try controlling one. Then go for 3.

This cannot be done fast. My father also had a Sinclair, and I learned to program its 2K of memory in one evening while I had no experience at all in programming. After 10 years of programming for fun almost everyday, plus 10 more years of programming professionally almost everyday, most of it in the Visual Basic we had before .NET, it took me days to learn to program in .NET, a few weeks to have some proficiency, and months before I really felt at ease with the tools (Visual Studio), the language (VB) and all the libraries that I needed in the framework for the specific type of work that I do.

It's a lot of work first, but it becomes a lot of fun after a while.

Good luck.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Chris Raisin(Retired Analyst/Programmer)Commented:
Well said Jacques! Yes, programming (if you like it) is so much fun (and it keep alzheimers at bay!).

Jacques is so right about writing programs which control hardware - definately harder to code. I love web development as well, and interfacing between .Net and the web (using ASP.NET)

I too wish you a fun time ahead and good luck with your endeavours.

Cheers
Chris (Australia)
0
LetchfordPAuthor Commented:
Well guys you certainly know how to cheer somebody up, of course you are right and if I could think of a use for it out side of this project it would make sense to do as you say sit down and at least learn the elementary stuff. But someone has got to help them as the deaf do not get much help from the state, and we cannot hire someone to do it.

You are right I do not know my left from my right but I'm getting there spent another couple of hours last night and now my program talks to their program and I can cut and select from any one of the three cameras and umpteen power points, films whatever needs to be displayed. Very long way to go, and you would not approve, but needs must.

I do need to know why using keydown I can see all the keys except the arrow keys (not the arrow keys on the keypad can see them)
but I better ask some where else
Ok I will end here and stop bothering yourselves.
Thanks for your time
0
LetchfordPAuthor Commented:
Thank you again for you time
0
LetchfordPAuthor Commented:
Ok I give points to one of you but how do i give to 2nd person?
0
LetchfordPAuthor Commented:
Thanks for your time and your effort, I will get there in the end
Have a grand day
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.