Search Results

Search found 7051 results on 283 pages for 'magic mouse'.

Page 1/283 | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • Magic Mouse for Windows 7 (Touch Mouse)

    - by samsudeen
    Microsoft has unveiled the launch of the new product named “Touch Mouse” at the on going Consumer Electronic show (CES). This mouse allows us to do the normal mouse functions such as  Click, flick, scroll and swipe easily without using any buttons.The features of this mouse is similar to the “Magic Mouse” from Apple hence we can call this as “Microsoft’s Magic Mouse”. This mouse is designed specially for “Windows 7″ to expose the touch features of the OS as per the Microsoft’s below statement Touch Mouse brings a new dimension to Windows 7. By quickly responding to single finger gestures, it speeds up everyday tasks that are already fast in Windows 7: scrolling, panning, paging forward and back, docking, minimizing/ maximizing, showing desktop, and more. Touch Mouse also provides elegant touch functionality to non-touch Windows 7 PCs, so you can enjoy dynamic touch sensitivity at a fraction of the cost of a new PC. The below video clip explains the “Touch Mouse” features using the “Windows 7″ operating system   Touch Mouse This mouse will be launched only in June at an estimated price of $80. You can find more details about the “Touch Mouse” at the below  Microsoft web site. http://www.microsoft.com/hardware/touch-mouse/ This article titled,Magic Mouse for Windows 7 (Touch Mouse), was originally published at Tech Dreams. Grab our rss feed or fan us on Facebook to get updates from us.

    Read the article

  • Confusion for mime files: magic, magic.mgc, magic.mime

    - by Florence Foo
    I'm using Ubuntu. I'm trying to use ruby gem 'shared-mime-info' for an application I'm writing. I understand that magic.mgc is a compiled version of magic file which has magic number definitions for the different file types. BUT I don't understand why is it /usr/share/mime/magic is in binary format instead of just normal text file with each parameters separated by white space like everywhere else I'm finding on the internet when it's referencing this file? The /usr/share/mime/magic has the word 'MIME-Magic' at the beginning of the file and prioritize the rest of the stuff like. So it doesn't look like magic.mgc at all. [100:application/vnd.scribus] >1=^@^KSCRIBUSUTF8 [90:application/vnd.stardivision.writer] >2089=^@ shared-mime-info seems to want a magic file in the binary non compiled format as above and I wanted to add definition for DOCX but how does one update or generate this file without using a hex editor? There is a reference to the magic file I found at: http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html And it mention this file is updated with update-mime-database but what if I just want to add some new entry to it. hex editor? Anyway I ended up using hexer to make a new magic file in ~/.local/share/mime/ with only the entry I wanted to add and the MIME-Magic header. Seems to work (assuming I will ever deal with docx for now). 00000000: 4d 49 4d 45 2d 4d 61 67 69 63 00 0a 5b 36 30 3a MIME-Magic..[60: 00000010: 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e application/vnd. 00000020: 6f 70 65 6e 78 6d 6c 66 6f 72 6d 61 74 73 2d 6f openxmlformats-o 00000030: 66 66 69 63 65 64 6f 63 75 6d 65 6e 74 2e 77 6f fficedocument.wo 00000040: 72 64 70 72 6f 63 65 73 73 69 6e 67 6d 6c 2e 64 rdprocessingml.d 00000050: 6f 63 75 6d 65 6e 74 5d 0a 3e 30 3d 00 08 50 4b ocument].>0=..PK 00000060: 03 04 14 00 06 00 0a -- -- -- -- -- -- -- -- -- .......---------

    Read the article

  • Enabling Multi-touch features of the Apple Magic Mouse on Ubuntu 12.04

    - by Martin
    I want to write a simple app that uses Apple's Magic Trackpad, nothing special, just so that it recognizes atleast one gesture. The thing is, Ubuntu itself doesnt really recognize this device. I'm using Ubuntu 12.04 and by default the device works with 1 finger, but without tap-click or doubletap, 3 fingers move the window and 3 finger spread makes it fullscreen. I managed to enable 2 finger scrolling with "xinput set-prop 8 'Two-Finger Scrolling' 1 1", but thats about it. No other gestures work, ginn doesnt start, giesview detects the device but doesnt respond to any of the gestures, and touchegg doesnt start either. I tried example apps from qt that come with ubuntu but they dont work. So... what do i do? i tried using qt but all i get from the app is "Got touch without getting TouchBegin for id XX" what else can i use to get my app to work with multitouch devices?

    Read the article

  • Mouse wheel speed, a permanent solution?

    - by Logan
    I would like to address an issue that has been around for a while now. The wireless mouse's wheel speed is abnormally fast on Ubuntu (as well as Mac Osx, as I have read) and the way to fix this temporarily is to unplug and plug the wireless adapter. A solution for this have been asked for in various forum topics on Ubuntu forums and also askubuntu. However the best solution for this is to re-plug the wireless adapter for the mouse. This fixes the mouse wheel speed until the next reboot. My question is, what can be done to make this permanent? Can a shell script be written, or firstly what can be causing this? If you could give me some ideas on why this problem is occurring I would happily write a shell script for it... (I am thinking if this is fixed by a simple re-plug of the adapter, maybe a shell script to disable device and re-enable it or something like that... could do the trick) I appreciate any discussions and ideas on the subjects. Here are some already discussed topics on the same subject that I've researched: Mouse wheel jumpy on scrolling Mouse wheel scrolling too fast There's a lot more than that on the net, all of them ends with re-plug solution.

    Read the article

  • Mouse receiver stopped working after pairing mouse to an unifying receiver

    - by mp19uy
    I bought this mouse, logitech m510, which came with a nano receiver (no-unifying). Yes I know, the mouse is supposed to come with a unifying receiver but I bought it knowing that it won't come on it's original package and it will come with a no-unifying receiver. When I received it, everything worked ok but, after connecting the mouse to another computer using an unifying receiver (that also worked ok, btw), then, when I tried to connect back the mouse to my computer using the no-unifying receiver, I couldn't connect it. I tried everything from removing the batteries and reinstalling the drivers to restarting the computer and trying in different computers, but I couldn't connect them. What I think it happened, is that in fact if you check the documentation of the logitech m510 it says that it works with unifying receivers only, and even more, there is the following article explaining it: http://logitech-en-amr.custhelp.com/app/answers/detail/a_id/18001/~/using-my-m510-with-a-different-usb-receiver So my theory is that the problem was connecting it to a unifying receiver, and now, isn't recognize by another receiver. The receiver (the no-unifying one) itself is recognized by windows, and if I connect the mouse using a unifying receiver, it works. I would like to know if there is any know solution for this or if I can try something else to see if I can solve this.

    Read the article

  • Configuring mouse buttons

    - by Gilad Naaman
    I am using a HP NK527AA Wireless mouse with two side buttons. His mouse wheel is half broken: I can scroll but I can't click it. In windows I configured the side buttons as 3rd mouse button but unfortunately the only available drivers are for windows. Ubuntu treats the side-buttons as back\forward buttons and it's really annoying. Is there a way to configure the buttons if though the is no driver?

    Read the article

  • Ubuntu 12.10 & 12.04.1 LTS mouse freezing (Saitek Cyborg R.A.T.5 Mouse)

    - by Eric Dand
    I've figured it out: it's the Cyborg mouse. I'll be looking through the questions as I remember seeing something about this. I'm getting a similar issue to this fellow: Ubuntu 11.04 randomly freezes for over one minute Sometimes it comes back to life after a minute or two only to crash again. Alt-tab works, but it does not display the windows-switching animation. It just switches the focus... sometimes. Ctrl-Alt-T works, thankfully, and the terminal stays responsive long enough for me to get in a "sudo reboot now" and type my password. I'm running a fresh Wubi install on a separate HDD from my Windows install. 64-bit 12.10 12.04.1 LTS now, with an AMD FX chip, 8GB of RAM, and a Radeon HD 3850. My mouse is a Saitek Cyborg R.A.T.5 Mouse, and my keyboard is a stock Acer one that came with a PC I bought a few years ago.

    Read the article

  • Mouse not working after upgrade

    - by Gaz
    After upgrade from 12.4 to 13.4 my usb mouse does not respond. Unlike similar posts my keyboard works (Alt + Tab, num loc etc) which means I can enter password and still log into desktop but still with no mouse support. I have tried other usb and PS2 mice (Logitech and Microsoft mouse) that are working on other Systems with no success. When running "xsetpointer -1 | grep Pointer" in terminal window as per post USB Mouse not recognized it shows no mouse installed. When the mouse is plugged in the light under mouse illuminates so their is power to mouse. In KDE by using the keyboard I was able to turn on "Move pointer with keyboard (using num pad)" from the "Mouse - KDE Control Module" which allowed me to move the mouse pointer using the keyboard. Without complete reinstall how do I get mouse working again?

    Read the article

  • What exactly is a Mobile mouse? + Mouse Recommendation

    - by chobo2
    I am really disappointed with Logitech. My first cordless wireless mouse was from them and it lasted like 5 years. So I decided to get another one from them http://www.futureshop.ca/catalog/proddetail.asp?logon=&langid=EN&sku_id=0665000FS10099373&catid= And this mouse sucks bad. After 6 months it broke. I returned it under warranty and got a new one now 4-6 month later it is on the verge of breaking again.... You pay like $50 for this mouse and it lasts like 6 months that sad. I just lost faith in Logitech mice as I remember my bro also had a logitech mouse too and it broke after like 6 months. He then bought another logitech mouse(different model) that has been working for maybe 2 years(and no signs of breaking) but I am not crazy about the mouse(I don't like the 2 buttons by the wheel) and I not sure if they even sell it(maybe they got rid of it because it lasts too long). http://www.tigerdirect.ca/applications/SearchTools/item-details.asp?EdpNo=1578495&CatId=1285 So I am looking at a Microsoft mouse. http://www.futureshop.ca/catalog/proddetail.asp?logon=&langid=EN&sku_id=0665000FS10125565&catid= I am looking at this one but I am not sure what they mean by mobile mouse. I think that is what MS calls notebook mice. So I am not sure if this would be a good mouse to get for a desktop. I see it uses like a micro usb receiver but I am not sure if it is smaller then a standard mouse. But almost all the mice I looked at at futureshop.ca or staples are labeled notebook mice or mobile mice. So not sure what mice would be right for me. I don't want a corded one though. I really liked the LX6 design alot but it can't last more than 6 months. Thanks

    Read the article

  • Microsoft Arc Mouse OS X

    - by meepz
    I recently bought a new Mac Book Pro with Mountain Lion 10.8 on it. The only portable mouse I have is my Microsoft Arc Mouse. I wanted to use it with the laptop so I installed the IntelliPoint 8.2 for Mac from Microsofts website. According to their website, this driver is for OS X 10.4-10.7. Now I thought that wouldnt be too much of an issue but unfortunately for me, the driver installs fine and the mouse is detected but I get no movement and when I click the buttons nothing happens. I took the mouse with me on a business trip to EU and before I left I checked if the mouse worked with my desktop which is running Windows 7 and it worked without any hiccups. I'm not too sure where the OS differs from 10.7 to 10.8. I found an article online but it doesn't pertain to my mouse, although it could be of assistance. I have tried my version of their adjustment but I am not too knowledgable on low level hardware/software modifications so I may have done it wrong. heres the link: http://refluxions.wordpress.com/2008/08/18/mac-os-x-mouse-madnessfixed/ I get the following details when I check mouse info in the IntelliPoint preferences pane: The following Microsoft mouse devices are currently connected to your Macintosh driven by the Intellipoint software. Arc Mouse Vendor name: Microsoft Product name: Microsoft AE 2.4GHz Transceiver 5.0 Vendor ID: 045E Product ID: 074F Device version: 0140 if anyone has any suggestions on how to fix this it would be greatly appreciated! I love the mouse and im here in EU for another two weeks. Thanks

    Read the article

  • Microsoft Mouse and Keyboard Center Needed for Keyboard but Doesn't Support Mouse

    - by eljay
    I recently built a new computer (running Win7 Pro 64-bit) that includes the Microsoft Sidewinder X4 Keyboard. To make use of all the extra features of this keyboard I need the Mouse and Keyboard Center. I just ran Windows Update for the first time on this system and the Mouse and Keyboard Center was included in the update. I'm left-handed and before the update I had the mouse set up for lefty use. Now after the update, it's been set to righty use and the original mouse control panel applet no longer allows the assignment of buttons. For that there's a link to the Mouse and Keyboard Center which does not support my oldish mice. (I have an IntelliMouse Optical and a Creative Mouse Lite Pro.) So I need the new utility for my keyboard, but I have to be right-handed to use my mouse? Really! I tried changing HKCU\Control Panel\Mouse\SwapMouseButtons to 1, but a reboot set it back to 0. Is there some way I can change my mouse back to left-handed? Thanx -eljay

    Read the article

  • Limiting the speed of the mouse cursor

    - by idlewire
    I am working on a simple game where you can drag objects around with the mouse cursor. As I drag the object around quickly, I notice there is some juddering, which seems to be due to the fact that I can move the mouse cursor faster than the game's update/draw. So, although I maintain the offset from where the player initially clicked on the object, the mouse's relative position to the object shifts around slightly before settling as I move the object very quickly. The only way I have found to get smooth, exact 1:1 movement is if I turn both IsFixedTimeStep and SynchronizeWithVerticalRetrace to false. However, I'd rather not have to do that. I have also tried making a custom mouse cursor, hiding the real mouse, taking the real mouse delta and clamping it to a maximum speed. Here is the problem: In windowed mode, the "real" mouse cursor moves off the window while the custom mouse cursor (since it's movement is being scaled) is still somewhere inside the game window. This becomes bizarre and is obviously not desired, as clicking at this point means clicking on things outside the game window. Is there any way to accomplish this in windowed mode? In fullscreen mode, the "real" mouse cursor is bounded to the edges of the screen. So I get to a point where there is no more mouse delta, yet my custom cursor is still somewhere in the middle of the screen and hence can't move further in that direction. If I wanted to clamp it to the edge of the screen when the real cursor is at the edge, then I would get an abrupt jump to the edge of the screen, which isn't desired either Any help would be appreciated. I'd like to be able to limit the speed of the mouse, but also would appreciate help with the first issue (the non-smooth relative offset between mouse cursor movement and object movement).

    Read the article

  • I need to move an entity to the mouse location after i rightclick

    - by I.Hristov
    Well I've read the related questions-answers but still cant find a way to move my champion to the mouse position after a right-button mouse-click. I use this code at the top: float speed = (float)1/3; And this is in my void Update: //check if right mouse button is clicked if (mouse.RightButton == ButtonState.Released && previousButtonState == ButtonState.Pressed) { // gets the position of the mouse in mousePosition mousePosition = new Vector2(mouse.X, mouse.Y); //gets the current position of champion (the drawRectangle) currentChampionPosition = new Vector2(drawRectangle.X, drawRectangle.Y); // move champion to mouse position: //handles the case when the mouse position is really close to current position if (Math.Abs(currentChampionPosition.X - mousePosition.X) <= speed && Math.Abs(currentChampionPosition.Y - mousePosition.Y) <= speed) { drawRectangle.X = (int)mousePosition.X; drawRectangle.Y = (int)mousePosition.Y; } else if (currentChampionPosition != mousePosition) { drawRectangle.X += (int)((mousePosition.X - currentChampionPosition.X) * speed); drawRectangle.Y += (int)((mousePosition.Y - currentChampionPosition.Y) * speed); } } previousButtonState = mouse.RightButton; What that code does at the moment is on a click it brings the sprite 1/3 of the distance to the mouse but only once. How do I make it move consistently all the time? It seems I am not updating the sprite at all. EDIT I added the Vector2 as Nick said and with speed changed to 50 it should be OK. I tried it with if ButtonState.Pressed and it works while pressing the button. Thanks. However I wanted it to start moving when single mouse clicked. It should be moving until reaches the mousePosition. The Edit of Nick's post says to create another Vector2, But I already have the one called mousePosition. Not sure how to use another one. //gets a Vector2 direction to move *by Nick Wilson Vector2 direction = mousePosition - currentChampionPosition; //make the direction vector a unit vector direction.Normalize(); //multiply with speed (number of pixels) direction *= speed; // move champion to mouse position if (currentChampionPosition != mousePosition) { drawRectangle.X += (int)(direction.X); drawRectangle.Y += (int)(direction.Y); } } previousButtonState = mouse.RightButton;

    Read the article

  • Mouse settings/properties dialog box won't open in Windows 7

    - by ymasood
    Hi, I have a problem trying to open my computer's mouse settings by either going to the command prompt and typing, 'control mouse', 'main.cpl' (as researched online) or simply by trying to go to the Control Panel and clicking on 'Mouse' under Hardware and Sound section. I have also tried running cmd as Administrator and trying the above commands but that is of no help. Lastly, if I search for 'mouse' and click 'Mouse' from the Windows search bar, that doesn't work either. In the past I had bought and installed Microsoft Wireless Mobile Mouse 6000 software and have just now bought and installed HP's Wireless Comfort Mobile mouse. Any help in this regard is highly recommended. I won't be able to restore or reinstall my laptop since it's a heavy use machine. Thanks! Yasser

    Read the article

  • microsoft mouse and keyboard center doesn't show my mouse

    - by Andy
    as part of a recent windows update, the irritating and intrusive intellipoint microsoft mouse software now seems to have been replaced by the even more irritating and intrusive "microsoft mouse and keyboard center[sic]" I am left handed and need to switch the left and right mouse buttons round. the option to do this has disappeared from the mouse control panel, to be replaced by a link which opens up said mouse and keyboard center. this in turn is a window which allows me to change settings on the keyboard but does not have any way to control mouse settings any hints would be very welcome. this is driving me nuts.

    Read the article

  • OS X mouse pointer speed varies with different mouse

    - by Stan
    OS X Snow Leopard It seems that when using different mice on OS X may have different pointer speed and scrolling speed. For example, when using my Logitech basic laser mouse, the pointer speed is like normal. But when using MX Performance or Anywhere, it's very slow, I will have to adjust the pointer speed in mouse configuration to max. Even with max, it's still a bit slow. Basically, just feel the plug and play on OS X is terrible. I need re-adapt to it every single time. This is not the case on Windows OS. Also, the mouse scrolling speed varies with different mouse too. But usually they are all very slow, usually scroll 1 line at a time. If I adjust it in mouse configuration, it turns to scroll too much lines. I have Logitech official mouse driver (LCC) installed. But either tuning in LCC or mouse configuration doesn't make things better. Has anyone have similar issue? How to resolve it? Please advise, thanks.

    Read the article

  • Magic Mouse problems dragging and dropping files in finder (Mac OSX 10.6.3)

    - by Brendan Green
    I have an issue dragging files around in the finder with my Magic Mouse. For example, I was trying to select and drag multiple files from the desktop onto an external hard drive. However, whenever I do so, the files either end up deselected (and the move doesn't happen). If I try to drag a single file, finder ends up doing whatever it does to enable the file to be renamed. Reverting back to the touchpad works fine. Is there a problem with drag-and-drop with this mouse, or is there a setting that I am missing (I've scoured the settings, and nothing is jumping out at me). Any help would be appreciated. Thanks

    Read the article

  • Mighty Mouse is jumping around on screen

    - by Nils Riedemann
    Hi there, I have a really annoying problem with my mighty mouse since a couple of weeks now. When moving my mouse (mightymouse) sometimes it jumps (about once in 30minutes) directly to a (propably) random spot of my screen. I cleaned the mightymouse several times and there is definately no hair or the like, and the desk is not the problem as well - I have the same problem with my other mighty mouse at home. Since I don't have any other mouse i couldn't test whether this relates to the mighty mouse or the mouse in general. Has anyone experienced such issues as well? Is there a solution? Greetings btw: Mac OS X 10.6.4

    Read the article

  • Make the middle mouse button behave as a double-click in Windows 7?

    - by Geoff Olynyk
    What is the best, lightest-weight way to make the middle mouse button (i.e. clicking the scroll wheel) behave as a double-left-click in Windows 7? I want this to be universal, so that other programs don't ever see the middle-click, they just see a double-left-click. I used to do it under Windows XP with Logitech SetPoint drivers but it was always an ugly solution - installing a huge ( 50 MB!) binary just to enable one simple little bit of functionality.

    Read the article

  • How do I identify mouse clicks versus mouse down in games?

    - by Tristan
    What is the most common way of handling mouse clicks in games? Given that all you have in way of detecting input from the mouse is whether a button is up or down. I currently just rely on the mouse down being a click, but this simple approach limits me greatly in what I want to achieve. For example I have some code that should only be run once on a mouse click, but using mouse down as a mouse click can cause the code to run more then once depending on how long the button is held down for. So I need to do it on a click! But what is the best way to handle a click? Is a click when the mouse goes from mouse up to down or from down to up or is it a click if the button was down for less then x frames/milliseconds and then if so, is it considered mouse down and a click if its down for x frames/milliseconds or a click then mouse down? I can see that each of the approaches can have their uses but which is the most common in games? And maybe i'll ask more specifically which is the most common in RTS games?

    Read the article

  • C#/XNA get hardware mouse position

    - by Sunder
    I'm using C# and trying to get hardware mouse position. First thing I tryed was simple XNA functionality that is simple to use Vector2 position = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); After that i do the drawing of mouse as well, and comparing to windows hardware mouse, this new mouse with xna provided coordinates is "slacking off". By that i mean, that it is behind by few frames. For example if game is runing at 600 fps, of curse it will be responsive, but at 60 fps software mouse delay is no longer acceptable. Therefore I tried using what I thought was a hardware mouse, [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool GetCursorPos(out POINT lpPoint); but the result was exactly the same. I also tried geting Windows form cursor, and that was a dead end as well - worked, but with the same delay. Messing around with xna functionality: GraphicsDeviceManager.SynchronizeWithVerticalRetrace = true/false Game.IsFixedTimeStep = true/fale did change the delay time for somewhat obvious reasons, but the bottom line is that regardless it still was behind default Windows mouse. I'v seen in some games, that they provide option for hardware acelerated mouse, and in others(I think) it is already by default. Can anyone give some lead on how to achieve that.

    Read the article

  • Wireless mouse keeps freezing when using whole network bandwidth

    - by Ümit AKKAYA
    Hi i have wireless mouse and keyboard connected to pc with USB receiver. When i downloading something without limiting download speed, mouse and keyboard keep freezing randomly. Mouse : Microsoft Wireless Mouse 5000 Keyboard : Microsoft keyboard 3000 v2 Chipset : Intel HM65 Processor : Intel Core i7 2670QM @ 2200MHz Physical Memory : 8192MB (2 x 4096 DDR3-SDRAM) OS : Win 7 x64 Note : The solution described in http://superuser.com/a/309622/157168 not helped.

    Read the article

  • Apple Magic Trackpad multitouch configuration

    - by Sureshkannan Duraisamy
    Today I installed the Ubuntu 10.10 release on my Desktop PC. I was running Ubuntu 10.04 LTS with an Apple Magic Trackpad and everything was working fine. After today's fresh installation of Ubuntu 10.10, I don't see my Apple Magic Trackpad's multitouch working. Two-finger scrolling and three-finger third mouse button clicking are completely broken. Has anyone else experienced a similar issue? Has anyone had success with Ubuntu 10.10 and an Apple Magic TrackPad? Please help me to fix this issue. Your help is highly appreciated...

    Read the article

  • C# XNA Handle mouse events?

    - by user406470
    I'm making a 2D game engine called Clixel over on GitHub. The problem I have relates to two classes, ClxMouse and ClxButton. In it I have a mouse class - the code for that can be viewed here. ClxMouse using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; namespace org.clixel { public class ClxMouse : ClxSprite { private MouseState _curmouse, _lastmouse; public int Sensitivity = 3; public bool Lock = true; public Vector2 Change { get { return new Vector2(_curmouse.X - _lastmouse.X, _curmouse.Y - _lastmouse.Y); } } private int _scrollwheel; public int ScrollWheel { get { return _scrollwheel; } } public bool LeftDown { get { if (_curmouse.LeftButton == ButtonState.Pressed) return true; else return false; } } public bool RightDown { get { if (_curmouse.RightButton == ButtonState.Pressed) return true; else return false; } } public bool MiddleDown { get { if (_curmouse.MiddleButton == ButtonState.Pressed) return true; else return false; } } public bool LeftPressed { get { if (_curmouse.LeftButton == ButtonState.Pressed && _lastmouse.LeftButton == ButtonState.Released) return true; else return false; } } public bool RightPressed { get { if (_curmouse.RightButton == ButtonState.Pressed && _lastmouse.RightButton == ButtonState.Released) return true; else return false; } } public bool MiddlePressed { get { if (_curmouse.MiddleButton == ButtonState.Pressed && _lastmouse.MiddleButton == ButtonState.Released) return true; else return false; } } public bool LeftReleased { get { if (_curmouse.LeftButton == ButtonState.Released && _lastmouse.LeftButton == ButtonState.Pressed) return true; else return false; } } public bool RightReleased { get { if (_curmouse.RightButton == ButtonState.Released && _lastmouse.RightButton == ButtonState.Pressed) return true; else return false; } } public bool MiddleReleased { get { if (_curmouse.MiddleButton == ButtonState.Released && _lastmouse.MiddleButton == ButtonState.Pressed) return true; else return false; } } public MouseState CurMouse { get { return _curmouse; } } public MouseState LastMouse { get { return _lastmouse; } } public ClxMouse() : base(ClxG.Textures.Default.Cursor) { _curmouse = Mouse.GetState(); _lastmouse = _curmouse; CollisionBox = new Rectangle(ClxG.Screen.Center.X, ClxG.Screen.Center.Y, Texture.Width, Texture.Height); this.Solid = false; DefaultPosition = new Vector2(CollisionBox.X, CollisionBox.Y); Mouse.SetPosition(CollisionBox.X, CollisionBox.Y); } public ClxMouse(Texture2D _texture) : base(_texture) { _curmouse = Mouse.GetState(); _lastmouse = _curmouse; CollisionBox = new Rectangle(ClxG.Screen.Center.X, ClxG.Screen.Center.Y, Texture.Width, Texture.Height); DefaultPosition = new Vector2(CollisionBox.X, CollisionBox.Y); } public override void Update() { _lastmouse = _curmouse; _curmouse = Mouse.GetState(); if (_curmouse != _lastmouse) { if (ClxG.Game.IsActive) { _scrollwheel = _curmouse.ScrollWheelValue; Velocity = new Vector2(Change.X / Sensitivity, Change.Y / Sensitivity); if (Lock) Mouse.SetPosition(ClxG.Screen.Center.X, ClxG.Screen.Center.Y); _curmouse = Mouse.GetState(); } base.Update(); } } public override void Draw(SpriteBatch _sb) { base.Draw(_sb); } } } ClxButton using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace org.clixel { public class ClxButton : ClxSprite { /// <summary> /// The color when the mouse is over the button /// </summary> public Color HoverColor; /// <summary> /// The color when the color is being clicked /// </summary> public Color ClickColor; /// <summary> /// The color when the button is inactive /// </summary> public Color InactiveColor; /// <summary> /// The color when the button is active /// </summary> public Color ActiveColor; /// <summary> /// The color after the button has been clicked. /// </summary> public Color ClickedColor; /// <summary> /// The text to be displayed on the button, set to "" if no text is needed. /// </summary> public string Text; /// <summary> /// The ClxText object to be displayed. /// </summary> public ClxText TextRender; /// <summary> /// The ClxState that should be ResetAndShow() when the button is clicked. /// </summary> public ClxState ClickState; /// <summary> /// Collision check to make sure onCollide() only runs once per frame, /// since only the mouse needs to be collision checked. /// </summary> private bool _runonce = false; /// <summary> /// Gets a value indicating whether this instance is colliding. /// </summary> /// <value> /// <c>true</c> if this instance is colliding; otherwise, <c>false</c>. /// </value> public bool IsColliding { get { return _runonce; } } /// <summary> /// Initializes a new instance of the <see cref="ClxButton"/> class. /// </summary> public ClxButton() : base(ClxG.Textures.Default.Button) { HoverColor = Color.Red; ClickColor = Color.Blue; InactiveColor = Color.Gray; ActiveColor = Color.White; ClickedColor = Color.Yellow; Text = Name + ID + " Unset!"; TextRender = new ClxText(); TextRender.Text = Text; TextRender.TextPadding = new Vector2(5, 5); ClickState = null; CollideObjects(ClxG.Mouse); } /// <summary> /// Initializes a new instance of the <see cref="ClxButton"/> class. /// </summary> /// <param name="_texture">The button texture.</param> public ClxButton(Texture2D _texture) : base(_texture) { HoverColor = Color.Red; ClickColor = Color.Blue; InactiveColor = Color.Gray; ActiveColor = Color.White; ClickedColor = Color.Yellow; Texture = _texture; Text = Name + ID; TextRender = new ClxText(); TextRender.Name = this.Name + ".TextRender"; TextRender.Text = Text; TextRender.TextPadding = new Vector2(5, 5); TextRender.Reset(); ClickState = null; CollideObjects(ClxG.Mouse); } /// <summary> /// Draws the debug information, run from ClxG.DrawDebug unless manual control is assumed. /// </summary> /// <param name="_sb">SpriteBatch used for drawing.</param> public override void DrawDebug(SpriteBatch _sb) { _runonce = false; TextRender.DrawDebug(_sb); _sb.Draw(Texture, ActualRectangle, new Rectangle(0, 0, Texture.Width, Texture.Height), DebugColor, Rotation, Origin, Flip, Layer); _sb.Draw(ClxG.Textures.Default.DebugBG, new Rectangle(ActualRectangle.X - DebugLineWidth, ActualRectangle.Y - DebugLineWidth, ActualRectangle.Width + DebugLineWidth * 2, ActualRectangle.Height + DebugLineWidth * 2), new Rectangle(0, 0, ClxG.Textures.Default.DebugBG.Width, ClxG.Textures.Default.DebugBG.Height), DebugOutline, Rotation, Origin, Flip, Layer - 0.1f); _sb.Draw(ClxG.Textures.Default.DebugBG, ActualRectangle, new Rectangle(0, 0, ClxG.Textures.Default.DebugBG.Width, ClxG.Textures.Default.DebugBG.Height), DebugBGColor, Rotation, Origin, Flip, Layer - 0.01f); } /// <summary> /// Draws using the SpriteBatch, run from ClxG.Draw unless manual control is assumed. /// </summary> /// <param name="_sb">SpriteBatch used for drawing.</param> public override void Draw(SpriteBatch _sb) { _runonce = false; TextRender.Draw(_sb); if (Visible) if (Debug) { DrawDebug(_sb); } else _sb.Draw(Texture, ActualRectangle, new Rectangle(0, 0, Texture.Width, Texture.Height), Color, Rotation, Origin, Flip, Layer); } /// <summary> /// Updates this instance. /// </summary> public override void Update() { if (this.Color != ActiveColor) this.Color = ActiveColor; TextRender.Layer = this.Layer + 0.03f; TextRender.Text = Text; TextRender.Scale = .5f; TextRender.Name = this.Name + ".TextRender"; TextRender.Origin = new Vector2(TextRender.CollisionBox.Center.X, TextRender.CollisionBox.Center.Y); TextRender.Center(this); TextRender.Update(); this.CollisionBox.Width = (int)(TextRender.CollisionBox.Width * TextRender.Scale) + (int)(TextRender.TextPadding.X * 2); this.CollisionBox.Height = (int)(TextRender.CollisionBox.Height * TextRender.Scale) + (int)(TextRender.TextPadding.Y * 2); base.Update(); } /// <summary> /// Collide event, takes the colliding object to call it's proper collision code. /// You'd want to use something like if(typeof(collider) == typeof(ClxObject) /// </summary> /// <param name="collider">The colliding object.</param> public override void onCollide(ClxObject collider) { if (!_runonce) { _runonce = true; UpdateEvents(); base.onCollide(collider); } } /// <summary> /// Updates the mouse based events. /// </summary> public void UpdateEvents() { onHover(); if (ClxG.Mouse.LeftReleased) { onLeftReleased(); return; } if (ClxG.Mouse.RightReleased) { onRightReleased(); return; } if (ClxG.Mouse.MiddleReleased) { onMiddleReleased(); return; } if (ClxG.Mouse.LeftPressed) { onLeftClicked(); return; } if (ClxG.Mouse.RightPressed) { onRightClicked(); return; } if (ClxG.Mouse.MiddlePressed) { onMiddleClicked(); return; } if (ClxG.Mouse.LeftDown) { onLeftClick(); return; } if (ClxG.Mouse.RightDown) { onRightClick(); return; } if (ClxG.Mouse.MiddleDown) { onMiddleClick(); return; } } /// <summary> /// Shows the state of the click. /// </summary> public void ShowClickState() { if (ClickState != null) { ClickState.ResetAndShow(); } } /// <summary> /// Hover event /// </summary> virtual public void onHover() { this.Color = HoverColor; } /// <summary> /// Left click event /// </summary> virtual public void onLeftClick() { this.Color = ClickColor; } /// <summary> /// Right click event /// </summary> virtual public void onRightClick() { } /// <summary> /// Middle click event /// </summary> virtual public void onMiddleClick() { } /// <summary> /// Left click event, called once per click /// </summary> virtual public void onLeftClicked() { ShowClickState(); } /// <summary> /// Right click event, called once per click /// </summary> virtual public void onRightClicked() { this.Reset(); } /// <summary> /// Middle click event, called once per click /// </summary> virtual public void onMiddleClicked() { } /// <summary> /// Ons the left released. /// </summary> virtual public void onLeftReleased() { this.Color = ClickedColor; } virtual public void onRightReleased() { } virtual public void onMiddleReleased() { } } } The issue I have is that I have all these have event styled methods, especially in ClxButton with all the onLeftClick, onRightClick, etc, etc. Is there a better way for me to handle these events to be a lot more easier for a programmer to use? I was looking at normal events on some other sites, (I'd post them but I need more rep.) and didn't really see a good way to implement delegate events into my framework. I'm not really sure how these events work, could someone possibly lay out how these events are processed for me? TL:DR * Is there a better way to handle events like this? * Are events a viable solution to this problem? Thanks in advance for any help.

    Read the article

1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >