Finding capture device

hi,
im trying to determine through code whether a person has a web cam installed on the computer. I know the following code can do that but the code assume RGB format is supported by the capture device.
RGBformat rgbFormat = new RGBFormat();
Vector videoDevs = CaptureDeviceManager.getDeviceList(rgbFormat);
Is there a way i can retrieve the list of webcams registered with jmf without having to assume a specific format is supported?
thanks

Yeah, pass null instead... here's a code snippet.
Also, if this fails, you can try to iterate through the VFW ( video for windows ) devices too.
regards,
Owen
public CaptureDeviceInfo autoDetect ( )
    Vector list = CaptureDeviceManager.getDeviceList ( null );
    CaptureDeviceInfo devInfo = null;
    if ( list != null )
        String name;
        for ( int i=0; i<list.size(); i++ )
            devInfo = (CaptureDeviceInfo)list.elementAt ( i );
            name = devInfo.getName();
            if ( name.startsWith ("vfw:") )
                break;
        if ( devInfo != null && devInfo.getName().startsWith("vfw:") )
            return ( devInfo );
        else
            for ( int i = 0; i < 10; i++ )
                try
                    name = VFWCapture.capGetDriverDescriptionName ( i );
                    if (name != null && name.length() > 1)
                        devInfo = com.sun.media.protocol.vfw.VFWSourceStream.autoDetect ( i );
                        if ( devInfo != null )
                            return ( devInfo );
                catch ( Exception ioEx )
                    // ignore errors detecting device
                    statusBar.setText ( "AutoDetect failed : " + ioEx.getMessage() );
            return ( null );
    else
        return ( null );
}

Similar Messages

  • Trouble finding Capture Device

    My computer is having a very hard time finding my camera. im using final cut express on my macbook and using a sony handy cam Digital 8. (dcr-trv250 ntsc)
    ive tried just about everything. any and all suggestions are very helpful and ill also give whatever other info you need to solve the problem.
    thanks in advance!
    ~Dan

    well, i go into east set up and use one of the DV converter settings but no luck. how do i manually record into final cut. or a link to a tutorial would be great as well. thanks!

  • Media Encoder not finding "audio capture device"

    Hi,
    Im using Adobe Flash Media Encoder with Dxtory for Twitch streaming, and at first it worked fine. Recorded both my mic and game audio perfectly. Then seemingly suddenly, I fired it up  and it wouldn't stream the game audio. It would my Mic, but thats it. I then unplugged the mic and it started saying I had no Audio Capture Device. I checked in Dxtory and its set up the same as it was when it was working. It picks up both the mic and speakers like it should. I have uninstalled this program multiple times, both 3.1 and 3.2 versions, and each time when I re-download it, it loads up the same profile I had before. So when I am uninstalling it, its not uninstalling everything for some reason. Even though the program is no where to be found after its uninstalled. I have downloaded xsplit, and it picks up the game audio and my mic. So its just this program. Anyone have any ideas? I cant seem to find anything online about this issue.
    Thanks!

    From where?  PP sequence?  PP bin?  PP Source Monitor?  Watch folder?

  • How to connect a video capture device to Satellite M30X 127

    I'm going around in circles trying to find a video capture device that will function with a laptop and would be grateful for advice. By way of example, I'm now looking at the 'Canopus ADVC-110', although still looking around (but not Pinnacle, who seem to have a terrible reputation for capture items).
    Problems include:
    1. Main problem is - many video capture external devices require a 'line-in' to PC for good quality audio transfer. This laptop doesn't have a line in, only the mike and headphone jacks. In addition, I've also tried a few RCA pins in the 3.5mm microphone/headphones jack and they were too small. How to solve the problem of getting audio from vcr to my PC?
    2. The ADVC-110 connects to the PC via Firewire (and S-video), but is a SIX-pin type. M30X is a FOUR-pin type. Are there adapters available?
    3. Some capture programmes seem to require huge capacity of RAM. Is a laptop going to be suitable to do the job? (I simply want to capture old vhs tapes from vcr to PC, then burn to DVD with Nero 7 or similar).
    Thanks in advance!

    Hello
    You are right! You must use external device for signal transfer to your notebook. I dont know where you have this info but I have good experiences with Pinnacle product. For data transfer I have used USB port.
    'Canopus ADVC-110 is not known to me but I dont see any reason why this should not work well. Use delivered software for video capturing and there should not be any problem.
    Only thing is that after recording the whole video material must be prepared for burning and unit need a lot of power to do this well und fast. When you buy this and want to use on right way I recommend you to expand RAM to 1GB.
    Compatible memory modules for your Satellite M30x are:
    PC2700 512MB (PA3312U-1M51)
    PC2700 1024MB (PA3313U-1M1G)
    Bye

  • Use a capture device twice at the same time?

    I have write a application using JMF. But I have a big question that how can I use a capture device several times at the same time????
    For example:
    I create a player to play video from my webcam on my PC ,and then I want to send the video stream from my webcam to another PC at the same time. But I failed--only one task can work.
    For example:
    1, I write a class Player and another class RTPTransmit. Then I send the same medialocator to two of them. Then there will be a exception said that capture device is in use. And only one task can work.
    2, I write a class Player and another class RTPTransmit. Then I use :
    dataSource1 = Manager.createDataSource( locator );
    dataSource2 = Manager.createCloneableDataSource( dataSource1 );
    then I send dataSource1 to Player object to play video on local PC and send dataSource2 to RTPTransmit to send video to another PC. But only one task will work too.
    My question is that how can I use a capture device several times at the same time???
    I have tried several ways and sill can not find a method. If anyone know how to do,could you tell me please? Thank you very much.

    Yes ,I use Manager.createCloneableDataSource() method to create the clone of the datasource ,but it can not work too. The java doc illustration is :
    Creates a cloneable DataSource. The returned DataSource implements the SourceCloneable interface and enables the creation of clones by the createClone method.
    If the input DataSource implements SourceCloneable, it will be returned right away as the result. Otherwise, a "proxy" DataSource is created. It implements the SourceCloneable interface and can be used to generate other clones.
    When createCloneableDataSource is called on a DataSource, the returned DataSource should be used in place of the original DataSource. Any attempt to use the original DataSource may generate unpredictable results.
    It means that if I clone a datasoure from original datasource, then the createCloneableDataSource() method will return a datasuouce implements interface SourceCloneable, right ? I see that the intereface SourceCloneable has a abstract method createClone() , but when I use createCloneableDataSource() to get a source clone, I find that I can not use method createClone(), why??? For example: data1 is the
    orginal datasource. Then:
    DataSource data1 = Manager.createDateSource( locator );
    DataSource data2 = Manager.createCloneableDataSource( data1 );
    now data2 is the "proxy" datasource which implemnets the interface, right? But I can not use data2.cloneClone() ,why? Then I write the fllowing code:
    DataSource data3 = Mangaer.createCloneableDataSource( data2 );
    DataSource data4 = Manager.createCloneableDataSource( data2 );
    playOnLocalPc = new PlayOnLocalPc( data3 );
    playOnLocalPc.start();
    rtpTransmit = new RTPTransmit( data4 );
    rtpTransmit.start();
    PlayOnLocalPc and RTPTransmit is my own class to play or transmit video stream. But they can not work at the same time. If I play video from webcam on local PC and then start to transmit stream to other PC , the play window will become black. Why?????It is too strange. Dose anyone know the reason ,please tell me, thank you very much. Giving some example code will be better:) Thank you again!

  • Can't get driver to work with ezcap usb 2.0 video capture device on windows 8.1

    I have an ezcap video capture device that works fine on my windows 7 machine but will not work in windows 8.1. The software (arcsoft 3.5)  functions properly but will not let me select the video grabber as a source. The driver itself indicates not compatible with 8.1 and the there are no drivers out there that I can find to address this issue? Any known solution would be helpful.

    Hi,
    It is not from HP. Please try driver from the following link:
        http://www.ezcap.tv/ezcap116-drivers?zenid=r53fvgj1n510tdme9itqc9ql52
    (After the first screen shot).
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • I'm looking for a capture device that is compatible with Adobe Flash Media Live Encoder. I bought elgato but it is not compatible. Anyone know?

    I'm looking for a capture device that is compatible with Adobe Flash Media Live Encoder. I bought elgato but it is not compatible. Anyone know?

    This is just a shot in the dark....
    Do you have all your devices hooked up (and on) when you launch FMLE?  For example -- your camera or digitizer?  When FMLE launches it will try to launch with the last known settings... including input devices.  If it can't find these devices (they're not hooked up and on) it can crash, although in most situations it will simply show a default screen with default settings.
    If you do have your equipment hooked up (and on) when you launch FMLE, try unplugging them and then launching FMLE so that it opens up in default configuration mode (no input devices selected; all default settings).  Then uncheck the "preview" boxes for both your input and output preview windows.  Close FMLE and then plug in your equipment (and turn it on) and relaunch FMLE.  I offer this suggestion as FMLE can sometimes act funny when the preview windows are open with certain types of input devices.  Don't worry -- you don't have to keep the preview windows off forever.  If you can get FMLE to successfully launch with the preview windows off, then you can set your settings however you like and save the profile.  Then quit and relaunch FMLE and then turn the preview windows back on and see if it works.  If it does, great.  Just be aware that making any settings changes while the preview windows are open could result in FMLE crashing.   Again -- this only happens with some capture devices, such as certain Dazzle capture boxes.
    If none of this works, you could always try to upgrade to FMLE 3.2 and see if that solves your problem.

  • Capture device invisible by an applet

    Hello,
    I wrote an application wich use a webcam, it worked fine.
    I tried to make an applet using some part of code but there is a problem with the webcam and the audio.
    When i use this code inside an application, it is ok. But when i execute this code inside an applet, deviceList2.size() was always equal to 0
    public boolean initWebCam(){
              VideoFormat vformat =  new VideoFormat(VideoFormat.RGB);
              Vector deviceList = CaptureDeviceManager.getDeviceList( vformat );
              if(deviceList.size()==0){
                   vformat = new VideoFormat(VideoFormat.YUV);
                   deviceList = CaptureDeviceManager.getDeviceList( vformat );
              if(deviceList.size()==0){
                   System.out.println("Attention... Aucune Webcam decouverte.");
                   return false;
    ...JMF registry editor, inside the users settting : "Allow File Writing for applet", "Allow Capture for Applets" and "Allow Caching" is checked. Capture devices was display on the Capture Devices tab.
    Does anyone know what is the problem or where to look for to see what is the problem ?
    Thanks
    Nicolas

    Hi Nick
    I recently use JMF and have exactly the same problem with you. When I test my applet in the development environment, i.e run the applet in applet viewer of JDeveloper IDE, the applet works just fine. However, when I deployed my application to webserver (Weblogic), the applet find 0 devices.
    As I browse the webpage from the same machine with the Server, which means JMF is installed properly. And I checked JMFregistry, the Allow Capturing from Applet is also checked.
    Have you find the solution yet?
    Thank you very much
    Regards
    Khue.

  • URGENT---Error regarding Cannot connect to Capture Device

    Hello Everyone, I am new to JMF and I am trying to build a project using JMF. In the project I need to capture images from webcam and display it on a window.
    I have written the following class for this:
    import java.awt.*;
    import java.awt.image.*;
    import javax.media.*;
    import javax.media.control.*;
    import javax.media.format.*;
    import javax.media.protocol.*;
    import javax.media.util.*;
    public class CameraController
         private Player player;
         * Initialises the video capture device.
         * @param name the name of the device (e.g. <code>vfw:Microsoft WDM Image Capture (Win32):0</code>).
         * @param locator the location of the device (e.g. <code>vfw://0</code>).
         * @param size
         * @throws Exception if there was a problem accessing the camera.
         public CameraController(String name, String locator, Dimension size) throws Exception
              // Create capture device
              System.out.println("Initialising video capture device: "+name);
              try
                   CaptureDeviceInfo captureDeviceInfo = CaptureDeviceManager.getDevice(name);
                   VideoFormat videoFormat = null;
                   Format[] formats = captureDeviceInfo.getFormats();
                   for (int i=0; i<formats.length; i++)
                        if (((VideoFormat)formats).getSize().equals(size))
                             videoFormat = (VideoFormat)formats[i];
                             break;
                   DataSource dataSource = Manager.createDataSource(new MediaLocator(locator));*
                   FormatControl[] formatControls = ((CaptureDevice)dataSource).getFormatControls();
                   for (int i=0; i<formatControls.length; i++)
                        if (formatControls[i]!=null)
                             Format supportedFormats[] = formatControls[i].getSupportedFormats();
                             if (supportedFormats!=null)     
                                  for (int j=0; j<supportedFormats.length; j++)
                                       if (supportedFormats[j].matches(videoFormat))
                                            formatControls[i].setFormat(videoFormat);                              
                   CaptureDeviceInfo deviceInfo = ((CaptureDevice)dataSource).getCaptureDeviceInfo();
                   ((CaptureDevice)dataSource).disconnect();
                   player = Manager.createRealizedPlayer(deviceInfo.getLocator());
                   player.start();
                   try { Thread.sleep(3000); }
                   catch (InterruptedException e) {}
              catch (Exception e)
                   System.out.println("Error Initialising video capture device!");
                   throw e;
         public void shutdown()
              player.close();
              player.deallocate();
         public BufferedImage getFrame()
              FrameGrabbingControl frameGrabber = (FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");
              Buffer buf = frameGrabber.grabFrame();
              Image img = (new BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));
              if (img==null)
                   System.out.println("Error: Capture device doesnt appear to be initialised yet.");
                   return null;          // happens if video device isn't properly initialised yet
              BufferedImage buffImg = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
              Graphics2D g = buffImg.createGraphics();          
              g.drawImage(img, null, null);
              return buffImg;
         public Component getVisualComponent()
              return player.getVisualComponent();
    There is another class GUI which calls the shutdown() function on occurrence of WindowClosing event.
    When I try to run this, It does run for the first time but after that, the following exception occurs:
    java.io.IOException: Could not connect to capture device
    javax.media.NoDataSourceException: Error instantiating class: com.sun.media.protocol.vfw.Datasource: java.io.IOException: Could noy connect to capture device
    at javax.media.Manager.createDataSource(Manager.java.1012)
    at CamerController.<init>(CameraController.java:57) ------ line where datasource is declared
    It doesn't run until I restart my laptop and then again after restart it runs only for the first time..
    I don't understand where is the problem. I am using Windows7, JMF 2.1.1, NetBeans 6.7.
    Kindly help me to find out the problem in this. Its extremely URGENT..!!!!

    Anjani_Bansal wrote:
    2. I am not shouting at anyone.Actually, I think even 12-year old girls on MySpace understand that TYPING IN ALL CAPS IS TAKEN TO BE SHOUTING on the internetz... so when you say its URGENT, everyone who understands the internet is going to read that as you SHOUTING the word URGENT.
    Which is simply impolite.
    3. I didn't ask YOU to answer my query. I asked only those people who are there to help and who understand my situation.Actually, you said everyone. Andrew is a person. Therefore, you did ask him to answer your question...and further, you simply asked "Kindly help me to find out the problem in this". Apparently Andrew took "this" to mean forum etiquette, which he was quite kind to help you with.
    For others[ Not You] :-
    Sorry every one if you think I am shouting. I am kindly requesting you for help.
    Thanks for understanding..Telling people on a forum that you need help URGENTLY isn't particularly asking kindly. Ignoring the whole rudeness of typing in all-caps, there's also the whole urgent thing. Do you think that people are going to read your post and then go "Eh, this kid doesn't sound like he's in a hurry. I think I'll come back and answer his question in a few days, let him sweat it out".
    Seriously, people add urgent to their posts like somehow it's the emergency flag on a help desk.
    This isn't a helpdesk, and telling us how urgently you need help isn't going to positively affect the speed at which you get help... in fact, it's far more likely to get you completely ignored by the people with the answer than it is to get you help any faster...
    Speaking of being ignored, I'm pretty sure I "kindly" suggested something for you to try above, and you never reported back the results of my suggestion. Am I to take from the fact you decided to spend your time sparing with Andrew that (1) you don't really care about fixing your problem (2) you're not really paying attention to the people who're trying to help you (3) your problem isn't really all that URGENT to begin with? (4) you somehow think your time is more important than mine and I should ignore your thread entirely? [I'd seriously advise looking through a few threads on this forum to see where the help comes from before you think about answering this one... there are 2 people that regularly help people in here, and you've already pissed one of them off...]

  • Proper external capture device recommendations

    Hi All,
    I need some input. I want to transfer about 25 VHS tapes (home movies) for editing in iMovie08, and burn the final output through iDVD08. Here is the problem. I had many Super 8mm home movies done professionally. The tech guy at the company was great, and he pointed out at the time of placing the order that I DIDN"T want the films put to DVD. He suggested that since I wanted to edit them, and that Mac software is native with Quicktime(MOV) format, that they would transfer them as raw files in MOV format and put them on an external drive, which was shipped to me. Great idea, and no issues. He also explained that MOV is frame by frame, not multiple frames like MPEG formats; so quality would be better, and I wouldn't lose quality and time re-encoding. So it stands to reason that I should do the same with the VHS tapes as well. I cannot seem to find an external capture device that does this. Dazzle and Canopus seem to go to MP4. Can someone steer me to the right product? I will be doing this from VCR to external capture to iMac. I DO NOT have a camcorder, so it has to be this way. Any help would be appreciated.

    Hi -
    You have been fortunate to receive excellent advice.
    To convert your analog tapes to DV you will need an external convertor such as:
    http://www.bhphotovideo.com/c/product/462758-REG/ADSTechnologies_API_558_EFS_Pyro_A_V_LinkBidirectional.html
    The cost of these devices will probably be in the $150 range, which is not to bad if divided by 25 tapes works out to about $6 a tape. Probably much cheaper than having someone do it for you.
    The one piece of advice that is a little suspect is that converting mpeg to a DV or non mpeg format degrades the signal. This is not strictly true, if done correctly.
    That is why I would suggest another option is to use this device:
    http://www.blackmagic-design.com/products/videorecorder/
    which is less that $100 and then take the files that are created by it and convert them to be edited by using this free application:
    http://www.squared5.com/svideo/mpeg-streamclip-mac.html
    You would then import the files into iMovie after they are converted. I mention this to give you an option.
    My biggest concern is that you back up your disc drives! After loading in all this footage, you would not want a drive failure to make you redo all that work!
    Good luck!

  • Capture Device for PE 4

    Hi everyone, I have Premiere Elements 4 and have currently been using Turtle Beach VideoAdvantage PCI to capture my videos, however, I am planning to upgrade to Windows 7 soon, and my capture device won't work on Win 7.  Can anyone here suggest a decent-quality capture device, that I could buy that would be compatible with Premiere Elements 4 & Windows 7?  I don't mind spending a bit more for quality, but I MUST HAVE s-video and RCA connections for capture as my current setup doesn't have firewire.  Please suggest only devices that will be Premiere elements friendly & Win 7 compatible.
    Thanks all
    ...bert

    Thank you for the clarification. Actually, after I re-read, and pondered some more, I went up to the studio to check out my Turtle Beach Advantage, and saw that it even added a FW connection, and I checked its specs. to see that it did have a controller chip, to take the stress off the MoBo's FW chips. Then, I thought of a third meaning - the one that you just verified.
    Now, back to your request: either the 110, or the 300 should work fine for you. I will be adding the 300, for those mentioned timebase corrections, etc. Though my Turtle Beach has done well, with few complaints, it will soon be legacy hardware, like my SyJet discs and drive...
    I'm sure that there are some good competitors, but I have yet to find them.
    Good luck,
    Hunt

  • Capture Device Offline

    I have recently purchased an ACER Aspire 5735Z laptop and have installed Adobe Premiere Elements 3 on it.  I have also purchased a firewire express card and firewire to dv cable in order to connect my Canon MV700 Mini DV Camcorder.  When I insert my express card in the slot, my device manager tells me that my 'IEEE 1394 Host Controller' is working properly.  However, my camcorder does not appear in device manager (camcorder is powered on and switched to playback mode).  When I attempt to 'Get media from DV camcorder' within Prem Ele 3, I get the message 'Capture Device Offline'.  I have looked at the online help pages and attempted to change capture settings but it doesn't make any difference.  I would be really grateful for any help with this problem.

    Hunt
    When I connect my camcorder to my laptop, I get the bing-bong noise but no
    icon in the taskbar.  Also, when I try to import within Windows Moviemaker,
    the message 'Import video could not find a compatible digital video device.
    Verify that the digital video device is properly connected and turned on'.
    I have since connected a friend's Sony Mini DV camcorder to my laptop using
    exactly the same method.  As soon as the device was switched to playback, it
    instantly appeared in the taskbar and within device manager.  I was able to
    import video within Windows Moviemaker, but using Premiere Elements 3 I
    still got the message 'Capture Device Offline'.
    It has been suggested that I need to install drivers for my Canon MV700 but
    it never came with a cd.  I have checked online and have only been able to
    find a driver download for XP and not Vista.

  • HDMI capture devices for IMac

    I noticed that blackmagic design are moving on to less expensive USB 3.0 in their HD video capture devices so I did a bit of lookin around to see weather the Imac or mac book pro could somehow be outfitted with usb 3.0 connections. It turns out that the mac book pro will work with a usb 3.0 card. Unfortunately though, black magic still does not doesn't show any signs of addressing support issues for apple and the usb 3.0 device compatibility issue. Does anyone know which way apple is leaning on the whole usb 3.0 thing. I'm pretty sure it offers exceptional increases in speed over even fw800. Or at least the potential for those increases as a matter of spec. And why not jump on the blueray-r while were at it.

    No, there is not. HDMI options on capture cards didn't arrive until after MacPros were released and G5s were discontinued. The only capture cards that work on G5's do not offer HDMI inputs. The Intensity series are PCIe only...AJA Kona line with HDMI are PCIe only....Matrox MXO2 line are PCIe and Express34 only. And your G5 has PCI-X slots.
    The AJA Kona 2, Kona LH, Decklink HD cards...things you can only find second hand...do not offer HDMI inputs. You are on a machine that was discontinued 4 years ago, HDMI support was not invented yet.
    Shane

  • How to change audio capture devices sample rate

    I am going to develop a online voice chat applet. Now everything works fine. But I didn't find anyway to capture audio in a lower sample rate. The default sample rate is 441000Hz. I am using MediaLocator to capture audio and pass it into Processor.
    MediaLocator ml = new MediaLocator("dsound://");
    DataSource ds;
    DataSource clone;
    try {          
    ds = javax.media.Manager.createDataSource(locator);
    } catch (Exception e) {
    return "Couldn't create DataSource"+e.getMessage();

    Use GSM format and do it with setting of BitRateControl. It is better than convert the sample rate of your capturing device. I suppose that you try to reduce load of network traffic with changing sample rate, right?
    Best regards from Germany,
    r.v.

  • JMF capture device already in use

    Hi,
    I'm trying to make something like VI or Netmeeting with JMF. The problem is that i can't send over RTP and have a Player with the same MediaLocator.
    error : ...Capture device already in use...
    Does anybody know how to send and play the same media at the same time

    If I send to unicast address ? I wanna find a possibility to use the same medialocator or the same datasource for example. It tell me that the capture device is already in use. How can I capture and send at same time. For example, how can you see wath you're sending with Videotransmit from java.sun.
    Tanks

Maybe you are looking for

  • Fax not detected,C​omm error, fax run test is all PASS,

    Hi Good Day! Im Using a HP color Laserjet Pro MFP M177fw. The Problem is sending fax messages. I do all the updates you need to installed. but the problem with my hp fax machine is still there specially i still receive a fax not detected issue,comm.e

  • Navigation Link failes : _layouts/15/AreaNavigationSettings.aspx fails to load on subsites

    PROBLEM: The navigation link in Site Settings will only works on the root site. Any sub site I get the notorious "Sorry, something went wrong An unexpected error has occurred."  When I look at the logs I see the following that relate to the correlati

  • Alignment problem in converting smartform printpreview into PDF

    Hi all, I am getting some alignment problem in converting smartform printpreview into PDF format, i.e the format of PDF is different from printpreviw of smartform. kindly suggest something so that alignment is not changed while converting to PDF. Reg

  • Solaris 10 panic

    Hi, I just upgraded my Solaris 9 ultra 10 box to Solaris 10. When the machine tries to boot and after starting the root device it crashes. I don't have a serial console, so I'm not able to paste the error, but it's something about usb. One of the mes

  • [X220] space bar key noise reduction

    Since a while the space bar key is much noisier than other keys, especially if not pressed in the center. Before to get a replacement keyboard I'dl like to clean and eventually put a little of oil on hinger under the key. Can You tell me how can I re