{"id":25932662,"url":"https://github.com/socketmobile/singleentryusingcapture","last_synced_at":"2025-06-24T19:40:22.195Z","repository":{"id":40934930,"uuid":"111132557","full_name":"SocketMobile/singleentryusingcapture","owner":"SocketMobile","description":"Windows SingleEntry app using Capture SDK","archived":false,"fork":false,"pushed_at":"2024-04-30T15:23:08.000Z","size":59,"stargazers_count":2,"open_issues_count":3,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-06T16:09:34.354Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SocketMobile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-17T17:36:03.000Z","updated_at":"2022-08-11T19:58:59.000Z","dependencies_parsed_at":"2024-05-06T16:00:57.737Z","dependency_job_id":null,"html_url":"https://github.com/SocketMobile/singleentryusingcapture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SocketMobile/singleentryusingcapture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentryusingcapture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentryusingcapture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentryusingcapture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentryusingcapture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SocketMobile","download_url":"https://codeload.github.com/SocketMobile/singleentryusingcapture/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocketMobile%2Fsingleentryusingcapture/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261744848,"owners_count":23203283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-04T00:38:42.944Z","updated_at":"2025-06-24T19:40:22.158Z","avatar_url":"https://github.com/SocketMobile.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Single Entry using Capture SDK\n\n## Introduction\nThis is a sample application to show how to use the Socket Mobile Capture SDK.\n\nThe Socket Mobile Capture SDK is available as NuGet from NuGet.org.\n\nWhen loading the project in Visual Studio, the Capture NuGet should restore itself from NuGet.org.\n\nThe Socket Mobile Capture relies on a service running on the host in order to manage the connection to a Socket Mobile scanner.\n\nThis service is called Socket Mobile Companion. If you have installed the Socket Mobile Keyboard package or the Socket Mobile Companion package, this service comes with an UI called Socket Mobile Companion UI. The version and the status of the service can be checked through this Socket Mobile Companion UI.\n\nThe Socket Mobile Companion UI is also required when connecting a scanner for the first time to the host as it will configure the scanner during the first connection process.\n\nExiting the Socket Mobile Companion UI won't terminate the Socket Mobile Companion service. If a scanner is already configured to connect to the host, the Socket Mobile Companion UI is no longer required but can be used to show the scanner connection status in the tray bar, and to configure a new scanner to connect to the host during its Bluetooth pairing process.\n\n## Connecting a Socket Mobile scanner\nIn order to connect a Socket Mobile scanner to a Windows host, an initial setting should be done in order to pair and configure the scanner for a particular host.\n\nThis phase requires the Socket Mobile Companion UI to be running on the Windows host machine.\n\nOnce the Socket Mobile Companion UI is running, it is easy to connect the Socket Mobile scanner by clicking on the Socket Mobile Companion UI and select \"Help to connect\" from the popup menu of this application. This displays a dialog with a barcode that can be scanned in order to configure the scanner in the right Application Mode.\n\nOnce this is done, the dialog can be closed, and the scanner is ready to be discovered by the Windows host machine, by going to the Bluetooth settings of the Windows machine. Once the scanner appears in the list of discovered devices, clicking on the scanner name will start the pairing process. During that process the Socket Mobile Companion UI configuration dialog appears to indicates it is configuring the scanner to reconnect back to this host machine. Once this operation completes, the scanner beeps to indicates it is ready to be used.\n\nThe next time you power on the scanner, it will reconnect automatically to this host. If it needs to connect to a different host, its pairing should be deleted. For this specific operation please refer to the scanner user guide and follow the steps to clear the bonding.\n\n## Using Capture SDK\nFirst the connection and disconnection process is independent of the application. The application receives a device arrival notification when a Socket Mobile scanner is connected to the host, and a device removal when it disconnects.\n\nThe best way of using Capture, is to use it with Capture Helper.\n\nCapture Helper provides most of the APIs Capture offers, and hide most the complexity of handling the scanner properties.\n\nCapture Helper asynchronous event handlers should be set up before opening Capture Helper.\nHere is an example that came from the source of this sample application:\n```\nmCapture.DeviceArrival += mCapture_DeviceArrival;\nmCapture.DeviceRemoval += mCapture_DeviceRemoval;\nmCapture.DecodedData += mCapture_DecodedData;\n```\n\nIf the application UI needs to be updated from these handlers, or in the callbacks of the Capture Helper API methods, a context can be set once also before opening Capture Helper as follow:\n`mCapture.ContextForEvents = WindowsFormsSynchronizationContext.Current;`\n\nThis sample app uses a timer to open Capture. This is due in part to handle the case that the Socket Mobile Companion service is not running at the time of this application is trying to use it and can be retried.\n\nThe scanner decoded data are received by the application by providing a decoded data handler to the Capture Helper event: `DecodedData`.\n\n## Opening Capture - Application Registration\nOpening Capture requires some application information, such as the application ID, a developer ID and the application AppKey.\nThis information requires a Socket Mobile Developer account that can be created on the Socket Mobile developer portal. The application AppKey is retrieved when registering the application in the same Socket Mobile developer portal and by providing the application ID.  \n\n## Documentation\nFor more information please consult the Capture SDK documentation that can be found here: http://docs.socketmobile.com/capture-preview/csharp/en/latest/index.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketmobile%2Fsingleentryusingcapture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsocketmobile%2Fsingleentryusingcapture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketmobile%2Fsingleentryusingcapture/lists"}